1
反正是有优化以下查询:MySQL的相关子查询SUM()ORDER BY
SELECT
t1.id,
(SELECT SUM(col1) FROM table_name_two t2 WHERE t2.name LIKE CONCAT('%',t1.name)) AS col1_count
FROM
table_name_one t1
ORDER BY
col1_count DESC
使用ORDER BY col1_count DESC
需要很长的时间。
谢谢。
子查询非常缓慢,我不会推荐他们。你可以加入这些表吗? –
你的通配符匹配会杀死你。字符串前面的通配符无法使用任何索引,因此它将进行表扫描以查找每一个匹配项。除非您重新设计数据以将字符串的匹配部分放在前面,否则无法修复它。 – dkretz
@BookOfZeus:“SubQueries非常慢”---我永远不会这样说。有些情况下子查询比联接更好。 – zerkms