如何將三條 mysql 查詢優(yōu)化為一條?
在優(yōu)化 mysql 查詢時(shí),將多條查詢合并為一條可以提高效率。對(duì)于給定的查詢:
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
登錄后復(fù)制
可以將它們合并為一條如下:
SELECT version, COUNT(*) AS tp_count FROM `qra_works` WHERE `created_time` > '2023-05-10 18:44:37' group by version
登錄后復(fù)制
通過使用group by 子句,我們可以按version 對(duì)結(jié)果進(jìn)行分組,從而返回兩行,分別為junior 和senior 的計(jì)數(shù)。這種優(yōu)化方式可以顯著降低數(shù)據(jù)庫的負(fù)載并提高查詢速度。