簡體   English   中英

獲取MySQL中的表的行數?

[英]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_ROWSSELECT FOUND_ROWS()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM