2015-06-26 145 views
0

我嘗試在我的mysql數據庫中查找所有錶行數。雖然我執行下面顯示的查詢在Mysql中執行兩個查詢時不同的錶行數

SELECT TABLE_NAME, TABLE_ROWS 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'MyDb' 
ORDER BY `TABLES`.`TABLE_ROWS` DESC; 

我得到輸出表和它的行數。如content_data:200150, 但當我逐個檢查每個表使用

select count(*) from content_data

我得到確切的行數即219366.什麼尋找在MySQL表中的所有行數的精確查詢?

+0

與正確的答案相同的問題:http://stackoverflow.com/questions/15796623/mysql-gives-fluctuating-row-count-when-i-query-schema – danihp

回答

1

count by information_schema.tables或show table status provides about。計數,但沒有精確統計,對於準確計數,你必須執行對數據庫的查詢按照如下─

select count(*) from mydb.mytable; 

如果你想那麼所有的數據庫表算你可以創建一個存儲過程並插入所有表中的一個臨時行數表,然後從該表中獲取。