以下查詢按預期工作。但我想有足夠的空間來優化。任何幫助?優化權限加入
SELECT a.cond_providentid,
b.flag1
FROM c_master a
WHERE a.cond_status = 'OnService'
ORDER BY a.cond_providentid,
a.rto_number;
以下查詢按預期工作。但我想有足夠的空間來優化。任何幫助?優化權限加入
SELECT a.cond_providentid,
b.flag1
FROM c_master a
WHERE a.cond_status = 'OnService'
ORDER BY a.cond_providentid,
a.rto_number;
可能,我建議把你的左內聯接的查詢數據庫中的觀點 - 以這種方式,代碼可以更清潔和更容易維護。
此外,檢查您經常使用的列最多..它可能是一個索引的候選人,以便您運行查詢時,它可以更快。
您也可能會檢查您的列數據類型......我看到你有這種類型的代碼:
(CASE WHEN b.tray_type IS NULL THEN 1 ELSE END)FLAG2
如果你有機會(iebTray_Type到位,或使用計算列,以確定標誌)改變爲您設計的表,它會運行得更快,因爲你不必使用Case語句來確定國旗。您可以將其添加爲查詢的另一列。
希望這會有所幫助! :)
安
+1的問題 – Natrium 2009-09-10 06:36:07
你爲什麼使用SUM()? SUM(1 | 0)'可以不用'SUM()';} – knittl 2009-09-10 06:14:07
16個問題,你不會答覆?不,謝謝... – 2009-09-10 06:17:35
如果你使用正確的加入,你不值得回答...只是開個玩笑 – 2009-09-10 06:22:06