天天看點

【書評:Oracle查詢優化改寫】第14章 結尾章

【書評:Oracle查詢優化改寫】第14章 結尾章

前13章的連結參考相關連接配接:

這本書的第14章選取了能覆寫目前大部分的改寫方法的案例。本來最後一篇不準備寫的blog的, 但是覺得有始有終,還是把結尾篇寫了吧。 為啥不想寫呢?還是覺得沒啥可寫的,sql優化改寫範圍太廣,沒有一成不變的,書中給出的例子也隻是抛磚引玉,不同的環境還是要根據具體情況來改寫,比如這本書的作者認為标量子查詢的性能不好,不喜歡使用,但是依據我的經驗來說,标量子查詢在某些情況下還是比較好的,比如在要求SQL的響應時間的情況下,标量子查詢就比較好了。

第14章目錄:

第 14 章 改寫調優案例分享

14.1 為什麼不建議使用标量子查詢

14.2 用 LEFT JOIN 優化标量子查詢

14.3 用 LEFT JOIN 優化标量子查詢之聚合改寫

14.4 用 LEFT JOIN 及行轉列優化标量子查詢

14.5 标量中有 ROWNUM =1

14.6 不等連接配接的标量子查詢改寫(一)

14.7 不等連接配接的标量子查詢改寫(二)

14.8 标量子查詢與改寫邏輯的一緻性

14.9 用分析函數優化标量子查詢(一)

14.10 用分析函數優化标量子查詢(二)

14.11 用分析函數優化标量子查詢(三)

14.12 用分析函數優化标量子查詢(四)

14.13 用 MERGE 改寫優化 UPDATE 281

14.14 用 MERGE 改寫有聚合操作的 UPDATE(一)

14.15 用 MERGE 改寫有聚合操作的 UPDATE(二)

14.16 用 MERGE 改寫 UPDATE 之多個子查詢(一)

14.17 用 MERGE 改寫 UPDATE 之多個子查詢(二)

14.18 UPDATE 改寫為 MERGE 時遇到的問題 

14.19 整理優化分頁語句

14.20 讓分頁語句走正确的 PLAN 

14.21 去掉分頁查詢中的 DISTINCT

14.22 用 WITH 語句減少自關聯

14.23 用 WITH 改寫優化查詢

14.24 用 WITH 把 OR 改為 UNION

14.25 錯誤的 WITH 改寫

14.26 錯誤的分析函數用法

14.27 用 LEFT JOIN 優化多個子查詢(一)

14.28 用 LEFT JOIN 優化多個子查詢(二)

14.29 用 LEFT JOIN 優化多個子查詢(三)

14.30 去掉 EXISTS 引起的 FILTER

14.31 重疊時間計數 

14.32 用分析函數改寫優化

14.33 相等集合之零件供應商

14.34 相等集合之飛機棚與飛行員

14.35 用分析函數改寫最值過濾條件

14.36 用樹形查詢找指定級别的資料

14.37 行轉列與列轉行

14.38 UPDATE、ROW_NUMBER 與 MERGE

14.39 改寫優化 UPDATE 語句

14.40 改寫優化 UNION ALL 語句

14.41 糾結的 MERGE 語句

14.42 用 CASE WHEN 去掉 UNION ALL

14.43 不恰當的 WITH 及标量子查詢 

14.44 用分析函數加“行轉列”來優化标量子查詢

14.45 用分析函數處理問題

14.46 用列轉行改寫 A 表多列關聯 B 表同列 

14.47 用分析函數改寫最值語句

14.48 多列關聯的半連接配接與索引 

14.49 巧用分析函數優化自關聯

14.50 糾結的 UPDATE 語句

14.51 巧用 JOIN 條件合并 UNION ALL 語句

14.52 用分析函數去掉 NOT IN

14.53 讀懂查詢中的需求之裁剪語句

14.54 去掉 FILTER 裡的 EXISTS 之活學活用 

第14章也就不舉例子的,關于個人優化過的幾個sql,可以參考文章連結。

SQL優化 系列

【推薦】 SQL優化中索引列使用函數之靈異事件

http://blog.itpub.net/26736162/viewspace-1329880/

【推薦】 oracle 如何預估将要建立的索引的大小

oracle 行列互換總結

http://blog.itpub.net/26736162/viewspace-1272538/

【推薦】 關于under any table/view 權限的解釋

http://blog.itpub.net/26736162/viewspace-1266876/

【推薦】 有關 視圖 vw_sql_rubbish_monitor_lhr 的内容

http://blog.itpub.net/26736162/viewspace-1262559/

【推薦】 統計資訊不準确導緻執行計劃走了笛卡爾積

http://blog.itpub.net/26736162/viewspace-1254942/

【推薦】 11.2.0.2的SPM的一個bug

http://blog.itpub.net/26736162/viewspace-1248506/

【推薦】 update修改為merge(max+decode)

http://blog.itpub.net/26736162/viewspace-1244055/

【推薦】 将遊标修改為建表來提高效率

http://blog.itpub.net/26736162/viewspace-1244050/

【推薦】 一個insert插入語句很慢的優化

http://blog.itpub.net/26736162/viewspace-1244044/

【推薦】 都是标量子查詢惹的禍

http://blog.itpub.net/26736162/viewspace-1222431/

【推薦】 采用merge語句的非關聯形式再次顯神能

http://blog.itpub.net/26736162/viewspace-1222423/

【推薦】 采用MERGE語句的非關聯形式提升性能 ---後傳

http://blog.itpub.net/26736162/viewspace-1222417/

【推薦】 Oracle的告警日志之v$diag_alert_ext視圖

http://blog.itpub.net/26736162/viewspace-1221559/

【推薦】 采用MERGE 語句的非關聯形式提升性能

http://blog.itpub.net/26736162/viewspace-1218671/

【推薦】 從執行計劃的預估行數看執行計劃是否正确

http://blog.itpub.net/26736162/viewspace-1209796/

【推薦】 走了索引為啥還像蝸牛一樣?

http://blog.itpub.net/26736162/viewspace-1208814/

     本文轉自lhrbest 51CTO部落格,原文連結:http://blog.51cto.com/lhrbest/1654645,如需轉載請自行聯系原作者