如何将三条 mysql 查询优化为一条?
在优化 mysql 查询时,将多条查询合并为一条可以提高效率。对于给定的查询:
select count(*) as tp_count from `qra_works` where `created_time` > '2023-05-10 18:44:37' limit 1 select count(*) as tp_count from `qra_works` where `created_time` > '2023-05-10 18:44:37' and `version` = 'junior' limit 1 select count(*) as tp_count from `qra_works` where `created_time` > '2023-05-10 18:44:37' and `version` = 'senior' limit 1
登录后复制
可以将它们合并为一条如下:
SELECT version, COUNT(*) AS tp_count FROM `qra_works` WHERE `created_time` > '2023-05-10 18:44:37' group by version
登录后复制
通过使用group by 子句,我们可以按version 对结果进行分组,从而返回两行,分别为junior 和senior 的计数。这种优化方式可以显着降低数据库的负载并提高查询速度。