mysql查詢表資料量的方法:1.利用「SELECT COUNT(*) FROM 表名」語句查詢,COUNT可傳回擷取資料的數目;2、利用「SELECT SQL_CALC_FOUND_ROWS 1 FROM 表格名稱limit 1 ”語句查詢。
本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
1.最常用的
SELECT COUNT(*) FROM 表名;
查的準確,但是資料量大的話(超過100萬),比較慢。
2.網路上找了一種,據說比count(*)快,自測沒驗證。
SELECT SQL_CALC_FOUND_ROWS 1 FROM 表名 limit 1; SELECT found_rows() AS rowcount;
以上兩種都有弊端,一次只能查詢一張表。
3.查詢目前庫所有表資料量
SELECT TABLE_NAME,TABLE_ROWS FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = (SELECT database()) ORDER BY TABLE_ROWS DESC;
TABLE_ROWS 即表資料量,但是會發現和 select count(*) 執行得到的值是不相同的!
原因:
預設情況下mysql 對錶進行增刪操作時,是不會自動更新information_schema 庫中tables 表的table_rows 字段的,在網上搜索一下發現說:只有10%的行數變更才會自動收集(待驗證)
推薦學習:mysql影片教學
以上是mysql怎麼查詢表的資料量的詳細內容。更多資訊請關注PHP中文網其他相關文章!