一尘不染

获取表行数的最有效方法

mysql

我目前有一个数据库,该数据库有超过600万行并且还在不断增长。我目前正在SELECT COUNT(id)FROM table;
为了向我的用户显示数字,但是数据库越来越大,除了能够显示数字之外,我不需要存储所有这些行。有没有办法选择要显示的auto_increment值,以便可以清除数据库中的大多数行?使用LAST_INSERT_ID()似乎无效。


阅读 305

收藏
2020-05-17

共1个答案

一尘不染

如果仅是要获取记录(行)数,则建议使用:

SELECT TABLE_ROWS
FROM information_schema.tables 
WHERE table_name='the_table_you_want' -- Can end here if only 1 DB 
  AND table_schema = DATABASE();      -- See comment below if > 1 DB

(至少对于MySQL)。

2020-05-17