innodb 表的行號

innodb 表的行號

將表格從 MyISAM 轉換為 InnoDB 後,「show table status」指令會傳回不同的行號以正確顯示「count(*)」指令。這可能是由於 InnoDB 表中使用的緊湊行格式造成的。

我想知道是否有一種方法可以透過「顯示表狀態」命令快速獲取 InnoDB 引擎上所有表的正確行號,就像它為 MyISAM 表顯示的那樣。

答案1

我認為你不走運。來自精美手冊:

http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html

行數。某些儲存引擎(例如 MyISAM)儲存精確的計數。對於其他儲存引擎,例如 InnoDB,該值是一個近似值,可能與實際值相差 40% 到 50%。在這種情況下,請使用 SELECT COUNT(*) 來取得準確的計數。

相關內容