mysql - 优化 MySQL count(*) 查询

标签 mysql sql

我正在创建一个需要计算与每一列关联的行数的 mysql 查询。我想知道是否有人可以帮助我优化它,因为目前它需要大约 10 秒才能运行,这是我的网站。 (不理想)

查询是:

SELECT model_make, count(*) FROM deals group by model_make UNION ALL
SELECT model_brand, count(*) FROM deals group by model_brand UNION ALL
SELECT model_name, count(*) FROM deals group by model_name;

我确定有更快的方法来做到这一点?如果这真的是运行它的唯一方法,还有哪些其他选项可以加快速度?

最佳答案

确保您在分组的每个列上都有一个索引。尽管如此,MySQL 仍必须扫描索引。

其他解决方案是计算一次计数并存储它们,然后根据需要更新它们。

关于mysql - 优化 MySQL count(*) 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22863391/

相关文章:

php - 在这种情况下使用什么 mysql 表结构

php - 获取日期之间的记录

mysql - 如何选择 NOW() 和插入最后一行之间的时间?

php - 使用 PHP 更新数据库中的图像

php - 与特定页面链接的关键字 - PHP + mySQL

MySQL 查询 : Query All Entries Older Than 1 Year

php - 我们可以将 session 变量传递给类吗

python - 如何从 mysql 中具有日期数据的表中估计每个月的列值?

php - 只有 MySqlQuery 的白屏

MySQL:有点不同的主细节sql查询