0
我有三個表稱爲edum_application,edua_courseEvent和edua_coursePackage。我可以以任何方式優化此SQL查詢嗎?
我正在寫一個問題,讓所有的edum_application,所有的courseEvent的coursePackage_id是X的應用程序和所有具有相同applicationWrapper_id
此查詢的工作,但它是有效的?
SELECT app.application_id, app.applicationWrapper_id
FROM edum_application AS app
INNER JOIN edua_courseEvent AS ce ON app.courseEvent_id = ce.courseEvent_id
WHERE app.applicationWrapper_id = 662
AND app.courseEvent_id IN
(
-- Is this really efficient?
SELECT ce.courseEvent_id
FROM edua_courseEvent AS ce
WHERE ce.coursePackage_id =
(
SELECT coursePackage_id
FROM edua_courseEvent AS ce
WHERE ce.courseEvent_id = 13377
)
)
輸出:
application_id applicationWrapper_id
72643 662
72645 662
72646 662
72647 662
謝謝,但這不會返回任何結果,因爲代碼被破壞。另外,對於特定的「包裝器」,我不需要使用特定的「封裝器」,而是所有使用_courseEvents_具有相同_coursePackage_Id_的應用程序,這是我不知道何時進入此查詢的值。 – Fr3gU
太棒了。這很好。我也根據執行計劃中的建議在applicationWrapper_id上創建了一個索引。謝謝! – Fr3gU