數據庫查詢語句執行順序

大神的總結:
html

http://www.cnblogs.com/knowledgesea/p/4177830.htmlspa

參考:《Microsoft SQL Server 2008技術內幕:T-SQL查詢》htm


查詢語句的執行順序:

一、FROM 子句:執行順序爲從後往前、從右到左。數據量較少的表儘可能放在後面。

二、WHERE子句:執行順序爲自下而上、從右到左。將能過濾掉最大數量記錄的條件寫在WHERE 子句的最右。

三、GROUP BY:執行順序從左往右分組,最好在GROUP BY前使用WHERE將不須要的記錄在GROUP BY以前過濾掉。

四、HAVING 子句:消耗資源。儘可能避免使用,HAVING 會在檢索出全部記錄以後纔對結果集進行過濾,須要排序等操做。
blog

HAVING子句必須跟在GROUP BY 後面,不能單獨存在!
排序

五、SELECT子句:少用*號,儘可能取字段名稱。ORACLE 在解析的過程當中, 經過查詢數據字典將*號依次轉換成全部的列名, 消耗時間。

六、ORDER BY子句:執行順序爲從左到右排序,消耗資源。
資源

ORDER BY子句出現的位置必須在SELECT中的最後一個子句。
get

相關文章
相關標籤/搜索