MySQL 利用執行順序提高效率
因為公司的內部網站平常有點慢,後來又架了個在美國的 Server
原本的小問題就被放大,雖然優化網站的方式主要不是靠 SQL的改進
最普通的優化就是不要用 SELECT * ,理由顯而易見,資料越多搜尋越慢
依照這點,所以要讓搜尋的資料越少,就要利用明確的條件去限制搜尋
也就是利用 SQL 的執行順序
SQL 的執行順序如下 :
- FROM
- ON
- JOIN
- WHERE
- GROUP BY
- WITH CUBE 或 WITH ROLLUP
- HAVING
- SELECT
- DISTINCT
- ORDER BY
- Top / limit
而且 ON 在 JOIN 前,所以我們要利用 ON 把 Table 的資料降到最小
所以好的 SQL 我認為應該是,利用 ON 來把資料降到最小,甚至到不用 WHERE 的程度
參考資料 :
https://docs.microsoft.com/
http://pclevinblog.pixnet.net/blog/
0 意見:
張貼留言