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