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
是第一个查询返回的结果数量。