嗨,我需要一些幫助解決這個問題。 我正在使用web應用程序和數據庫我使用sqlite。有人可以幫助我從一個DATABSE查詢必須優化==快速=)幫助優化SQL查詢
我有表X:
ID | ID_DISH | ID_INGREDIENT
1 | 1 | 2
2 | 1 | 3
3 | 1 | 8
4 | 1 | 12
5 | 2 | 13
6 | 2 | 5
7 | 2 | 3
8 | 3 | 5
9 | 3 | 8
10| 3 | 2
.... ID_DISH是不同的菜餚ID,ID_INGREDIENT是其中的成分所以在我的情況菜 ID爲1與IDS 2,3
在這個表中有更多然後15000行食材製成的,我的問題是::這道菜由
我需要查詢這將取在這裏我可以找到由我不知道添加到我的算法中的ingreedients ASC計數的菜餚ID。
examle:FOO(2,4) 將按此順序行:
ID_DISH | count(stillMissing)
10 | 2
1 | 3
碟ID 10具有id爲2和4成分和還沒有得到2個,然後是
我的查詢是:
SELECT
t2.ID_dish,
(SELECT COUNT(*) as c FROM dishIngredient as t1
WHERE t1.ID_ingredient NOT IN (2,4)
AND t1.ID_dish = t2.ID_dish
GROUP BY ID_dish) as c
FROM dishIngredient as t2
WHERE t2.ID_ingredient IN (2,4)
GROUP BY t2.ID_dish
ORDER BY c ASC
的作品,但它是緩慢....
+1發明了 'optimazing'。哪個國際海事組織應該表示「執行驚人的優化」。 – karim79 2011-01-06 20:50:38
你在該表上添加了什麼索引? – zsong 2011-01-06 21:17:01