1
我有一個結果集,我用三個表之間的連接獲得:MySQL的複雜連接優化
SELECT X.*, Y.Name FROM `A` AS X
INNER JOIN `B` AS Y
INNER JOIN `C` AS Z
ON X.id=Y.id AND X.categoryID=Z.categoryID
WHERE X.userID_FK=%d AND X.listID_FK=%d
ORDER BY Z.categoryRank ASC
我有第四個表「d」包含:
-------------------------------
id_FK userID_FK vote
-------------------------------
這裏(id_FK, userID_FK)
對是PK。
由第一個查詢返回的每個X.id
可能在D
表中有多個條目。通常情況下,每個返回行,以每id
計票,我會寫這樣的查詢:
SELECT SUM(vote) FROM D WHERE `id`=%d
我想知道如果我能這兩個查詢優化成一個單一的查詢作爲當前方案結果執行時間爲O(n)
。 n
是第一個查詢返回的結果數量。