我正在创建一个需要计算与每一列关联的行数的 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/