首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算表格行数

计算表格行数
EN

Stack Overflow用户
提问于 2009-12-12 21:31:02
回答 12查看 299.4K关注 0票数 181

检索表中记录计数的MySQL命令是什么?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2009-12-12 21:34:05

代码语言:javascript
复制
SELECT COUNT(*) FROM fooTable;

将计算表中的行数。

请参阅reference manual

票数 253
EN

Stack Overflow用户

发布于 2016-09-15 01:03:05

因为没有人提到它:

代码语言:javascript
复制
show table status;

列出所有表以及一些附加信息,包括每个表的估计行数。这就是phpMyAdmin用于其数据库页面的内容。

此信息在MySQL 4中可用,可能在MySQL 3.23太长时间的先验信息模式数据库中。

更新:

因为有反对票,我想澄清的是,显示的数字是对InnoDB和TokuDB的估计,对于MyISAM和Aria (Maria)存储引擎来说,这是绝对正确的。

根据documentation

行数。一些存储引擎,如MyISAM,存储确切的计数。对于其他存储引擎,例如InnoDB,该值是近似值,可能与实际值相差40%到50%。在这种情况下,请使用SELECT COUNT(*)来获得准确的计数。

这也是查看MySQL上的行数的最快方法,因为查询如下:

代码语言:javascript
复制
select count(*) from table;

执行全表扫描,这可能是非常昂贵的操作,可能需要在大型高负载服务器上花费数小时。它还会增加磁盘I/O。

同样的操作可能会阻塞表以进行插入和更新-这只会在外来存储引擎上发生。

InnoDB和TokuDB可以使用表锁,但需要全表扫描。

票数 85
EN

Stack Overflow用户

发布于 2015-08-06 14:22:04

我们有另一种方法可以找出表中的行数,而无需对该表运行select查询。

每个MySQL实例都有information_schema数据库。如果运行以下查询,它将提供有关该表的完整详细信息,包括该表中的近似行数。

代码语言:javascript
复制
select * from information_schema.TABLES where table_name = 'table_name'\G
票数 37
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1893424

复制
相关文章

相似问题

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