"Query-Plan"
- Query Plan(執行計畫)
想知道一段查詢實際會怎麼被執行、或被要求「先看計畫」時
- SQL.1 宣告式的紅利與代價:書寫、求值與執行順序各自由誰決定
SQL 寫結果而不寫算法帶來的後果:同一個問題換書寫順序之後在有無統計資訊時拿到的計畫、求值順序擋下的寫法,以及代價為什麼要向引擎問
- Query Statistics(統計資訊)
看到「先跑 ANALYZE」、或同一段查詢沒改而某天變慢時,查這一份資料是什麼、誰在用它
- SQL.11 查詢結果的列序:沒有 ORDER BY 時的來源與 ORDER BY 的規定範圍
同一段查詢在建索引前後回不同順序的機制、ORDER BY 在求值順序的位置,以及空值落在哪一端各家的差別
- Sargable(可走索引的條件形狀)
索引存在而計畫仍走全表掃描時,查條件的寫法有沒有擋住那個索引
- SQL.17 查詢的代價:資料分布、索引與寫法各自的影響
找重複值的分組、自連接與 EXISTS 在有無索引與不同重複次數下的實測時間與計畫,以及比較查詢快慢時要補上的資料量、分布、索引與統計資訊