優化器執行計畫選擇

2021-09-27 12:36:39 字數 1501 閱讀 8665

1 資料準備

create table test1 as select d.* ,trunc(dbms_random.value(0,100)) as ran_val from dba_objects d;

2 效能改善

2.1 寫法一

優化器還是很智慧型的,走了hash+filter篩選,避開了filter連線。

2.2 寫法二

2.3 寫法三

我們故意在t3的子查詢裡面加了個where rownum>0,為了不讓t3內聯檢視展開,避開寫法二的執行計畫。

這個執行計畫與寫法一的執行計畫類似。

2.4 寫法四

相比之下,這種分析函式改寫效能更好,因為減少了掃瞄次數,同時也避開了自連線。

oracle 優化器 執行計畫

1 優化器種類 rule choose first rows n first rows all rows 10g後預設 2 訪問表的方法 全表掃瞄 table access full rowid掃瞄 table access by user rowid table access by index r...

MongoDB 執行計畫 優化器簡介 上

最近,由於工作需求去了解一下query是如何在mongodb內部進行處理,從而丟給儲存引擎的。裡面涉及了query執行計畫和優化器的相關 mongodb整體思路設計的乾淨利落,有些地方深入挖一下其實還是能有些優化點的。本文會涉及一條query被parse之後一路走到引擎之前,都做了那些事情,分析基於...

Sql優化 執行計畫

一段sql 寫好以後,可以通過檢視sql的執行計畫,初步 該sql在執行時的效能好壞,尤其是在發現某個sql語句的效率較差時,我們可以通過檢視執行計畫,分析出該sql 的問題所在。1 開啟熟悉的檢視工具 pl sql developer。在pl sql developer中寫好一段sql 後,按f5...