查詢語句的執行順序


當一條查詢語句中包含所有的子句,執行順序依下列子句次序:

FROM 子句:執行順序為從后往前、從右到左。數據量較少的表盡量放在后面。
WHERE子句:執行順序為自下而上、從右到左。將能過濾掉最大數量記錄的條件寫在WHERE 子句的最右。
GROUP BY:執行順序從左往右分組,最好在GROUP BY前使用WHERE將不需要的記錄在GROUP BY之前過濾掉。
HAVING 子句:消耗資源。盡量避免使用,HAVING 會在檢索出所有記錄之后才對結果集進行過濾,需要排序等操作。
SELECT子句:少用*號,盡量取字段名稱。ORACLE 在解析的過程中, 通過查詢數據字典將*號依次轉換成所有的列名, 消耗時間。
ORDER BY子句:執行順序為從左到右排序,消耗資源。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM