查詢語句的執行順序:
一、FROM 子句:執行順序爲從後往前、從右到左。數據量較少的表儘可能放在後面。
二、WHERE子句:執行順序爲自下而上、從右到左。將能過濾掉最大數量記錄的條件寫在WHERE 子句的最右。
三、GROUP BY:執行順序從左往右分組,最好在GROUP BY前使用WHERE將不須要的記錄在GROUP BY以前過濾掉。
四、HAVING 子句:消耗資源。儘可能避免使用,HAVING 會在檢索出全部記錄以後纔對結果集進行過濾,須要排序等操做。
五、SELECT子句:少用*號,儘可能取字段名稱。ORACLE 在解析的過程當中, 經過查詢數據字典將*號依次轉換成全部的列名, 消耗時間。spa