[英]Getting row count for a table in MySQL?
任何人都可以告訴我,在查找表的行數時,MySQL中哪個是更好的appraoch:是否更好做
SELECT COUNT(*) FROM TABLE_NAME
或者在INFORMATION_SCHEMA
中的表TABLE
中查找行計數?
這是計算頁面分頁計數的常用操作嗎?
我應該補充說,表最多只有幾千行。
謝謝
馬丁奧謝。
在MyISAM
,這個查詢:
SELECT COUNT(*)
FROM TABLE_NAME
是即時的,因為它保存在表格元數據中,因此幾乎可以自由地發出此查詢,它將始終獲得正確的結果。
在InnoDB
,此查詢將逐個計算行,這可能需要一些時間。
因此,如果您不需要COUNT(*)
確切值,則可以查詢INFORMATION_SCHEMA
。
如果您發現COUNT(*)
太慢,我還會考慮使用SQL_CALC_FOUND_ROWS
和SELECT FOUND_ROWS()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.