标题:关于MySQL查询某个表记录总数的效率问题 出处:Felix021 时间:Mon, 06 Oct 2008 00:27:20 +0000 作者:felix021 地址:https://www.felix021.com/blog/read.php?1196 内容: 所以在给whumstc做图书馆藏书情况查询系统的时候 因为觉得用SELECT COUNT(*) FROM `ooxx`是很耗时的 所以就没有做过多的分页功能,只做了首页/上页/下页/跳页。 现在发现我的想法非常愚蠢 - 会如此频繁使用的功能,MySQL怎会不优化呢 不过当时(十一)是在老家,没有网络不能查。 今天想起这个问题,于是google了一下,答案是: 使用MYISAM存储引擎的表,会保存表的记录数。 如果使用SELECT COUNT(*) FROM `table_name`;语句进行查询的时候 会直接返回该记录数。 注意使用InnoDB引擎存储的表没有这个功能 这条SQL语句也不能加上WHERE限定语句,否则将要扫描所有记录。 专门看了一下MySQL Manual的Chapter 7.2.4 MySQL怎样优化WHERE子句, 很有收获。 Generated by Bo-blog 2.1.0