gpt4 book ai didi

mysql - 从mysql数据库中计算行数的最佳方法

转载 作者:可可西里 更新时间:2023-11-01 07:46:29 34 4
gpt4 key购买 nike

在遇到 mysql 查询加载时间缓慢的问题后,我现在正在寻找计算行数的最佳方法。我曾愚蠢地使用 mysql_num_rows() 函数来执行此操作,现在意识到这是执行此操作的最糟糕方法。我实际上是在制作一个分页来用 PHP 制作页面。我找到了几种计算行数的方法。但我正在寻找更快的计数方法。

表类型为MyISAM

那么问题来了

哪个是最好的和更快的计数 -

1. `SELECT count(*) FROM 'table_name'`

2. `SELECT TABLE_ROWS
FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'database_name'
AND table_name LIKE 'table_name'`

3. `SHOW TABLE STATUS LIKE 'table_name'`

4. `SELECT FOUND_ROWS()`

如果有其他更好的方法可以做到这一点,也请告诉我。如果可能,请连同答案一起描述 - 为什么它最好更快。所以我可以理解并可以根据我的要求使用该方法。

谢谢。

最佳答案

COUNT 上引用 MySQL 引用手册

COUNT(*) is optimized to return very quickly if the SELECT retrieves from one table, no other columns are retrieved, and there is no WHERE clause. For example:

mysql> SELECT COUNT(*) FROM student; 

This optimization applies only to MyISAM tables only, because an exact row count is stored for this storage engine and can be accessed very quickly. For transactional storage engines such as InnoDB, storing an exact row count is more problematic because multiple transactions may be occurring, each of which may affect the count.

另请阅读此问题 MySQL - Complexity of: SELECT COUNT(*) FROM MyTable;

关于mysql - 从mysql数据库中计算行数的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6939442/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com