首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取表行计数的最有效方法

获取表行计数的最有效方法
EN

Stack Overflow用户
提问于 2009-06-01 04:30:23
回答 11查看 115K关注 0票数 67

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

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2009-06-01 04:37:23

如果仅仅是为了获取记录(行)的数量,我建议使用:

代码语言:javascript
复制
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)。

票数 60
EN

Stack Overflow用户

发布于 2010-04-05 07:38:18

下面是查找表的下一个AUTO_INCREMENT值的最有效方法。即使在包含数百万个表的数据库上,这也很快,因为它不需要查询潜在的大型information_schema数据库。

代码语言:javascript
复制
mysql> SHOW TABLE STATUS LIKE 'table_name';
// Look for the Auto_increment column

但是,如果必须在查询中检索此值,则必须转到information_schema数据库。

代码语言:javascript
复制
SELECT `AUTO_INCREMENT`
FROM   INFORMATION_SCHEMA.TABLES
WHERE  TABLE_SCHEMA = 'DatabaseName'
AND    TABLE_NAME   = 'TableName';
票数 89
EN

Stack Overflow用户

发布于 2009-07-10 12:07:53

尝尝这个

执行以下SQL:

代码语言:javascript
复制
SHOW TABLE STATUS LIKE '<tablename>'

并获取字段Auto_increment的值

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/933565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档