I have good news and bad news for you when it comes to MySQL 5.x.
Good News if you are counting against MyISAM
Bad News if you are counting against InnoDB
Just use either
SELECT table_rows FROM information_schema.tables WHERE table_schema='<given db name>' and table_name='<given table name>';
SELECT COUNT(1) FROM <db-name>.<tbl-name>; (This will work in MySQL 4.x as well)
SELECT COUNT(1) FROM <db-name>.<tbl-name>, even though it can run faster than SELECT COUNT(*),
will still count every row in the table anyway.
If you are using InnoDB, you are on your own !!!!
If you are using MyISAM, have fun !!!!
Rolando A. Edwards
MySQL DBA (CMDBA)
155 Avenue of the Americas, Fifth Floor
New York, NY 10013
AIM & Skype : RolandoLogicWorx
From: BS TLC [mailto:bstlc@stripped]
Sent: Wednesday, August 05, 2009 10:30 AM
Subject: How to Detect MySql table update/difference
Hi, I'm a novel developer of MySql and now I am trying to create a mysql query to detect table updates.
I query a database table every X seconds, and i want to get only the different rows in the table. The result that I want to have is simply
TABLE (t = now) - TABLE (t = X second ago)
Every time that i query the database I store the table situation in another table, called TABLE_TEMP, so the operation of difference detection is
TABLE_DIFERENCE = TABLE - TABLE_TEMP.
How can I do this query? The problem that I have is that I don't know the structure of the table and I want to create a program with can be used for all types of data and tables.
Please help me.
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=redwards@stripped