執行計畫:提交sql語句,資料庫查詢優化器,經過分析生成,制定多個查詢方式,從中選擇資源使用最少的
資料庫制定執行計畫是按照使用資源最少,而不是時間最短
對應的意思:
1、受影響的行數
2、影響的位元組數
3、影響的資料大小
執行計畫:
1、table scan 全表掃瞄 效能最差
2、cluster index scan 效能最差,同上 雖然有聚集索引,其實也是全表掃瞄
3、index seek(nonclustered) 效能非常高
4、index scan 先index,再掃瞄
5、cluster index seek 效能最高
一般出了問題,看看執行計畫,找出scan,換索引,看效果,嘗試
profiler好工具
常規的sql優化建議:
1、對列的計算要避免,任何形式都要避免
2、in查詢 or查詢,索引會失效,可能是拆分
3、in 換exists
not in 不要用,不走索引
4、is null和is not null 都不走索引
5、<> 也不走索引
可以拆分成》 和<
6、join時,鏈結越少效能越高
左鏈結,以左邊的結果為準
右鏈結反過來,
連線字段要求帶索引
MS SQL執行速度優化
1 大表變小表,小表再連線。但是ms sql 會自動分析執行計畫,並且如檢視,也會被還原為語句,一起被分析。如果表有where條件,先對表使用where來篩選出小表。再進行連線。連線時,小表去join大表。參見 color red 2 或exists 比 in 效率高 另外,首先兩個表的連線欄位都要...
Sql優化 執行計畫
一段sql 寫好以後,可以通過檢視sql的執行計畫,初步 該sql在執行時的效能好壞,尤其是在發現某個sql語句的效率較差時,我們可以通過檢視執行計畫,分析出該sql 的問題所在。1 開啟熟悉的檢視工具 pl sql developer。在pl sql developer中寫好一段sql 後,按f5...
MySQL explain執行計畫優化
先發現問題 慢查詢,explain,profile 對於使用索引和沒有使用索引,了解到索引可以快速去查詢資料 了解什麼是索引 索引是排好序的快速查詢的資料結構 索引的管理 檢視,建立,刪除 索引的本身的資料結構 b tree結構和聚簇結構 mysql是如何去使用這些索引的 explain工具 需要去...