SQL優化器 初始化引數

2021-09-23 21:31:29 字數 1604 閱讀 1106

一些和優化器相關的初始化引數  1、

optimizer_features_enable

每個版本的oracle 優化器特性都不相同,特別是做了版本公升級以後一定要修改這個引數才可以使用僅被該版本支援的優化器特性。 

可以賦予它的值如:9.2.0、9.0.2、9.0.1、8.1.7、8.1.6 等。  2、

cursor_sharing 

這個引數會將sql 語句中的常量用變數來替換,存在大量常量的oltp 系統可以考慮啟用這個引數。但是有一點要明白,繫結變數雖然可以使大量的sql 重用,減少分析時間,但是當資料分布發生變化後,cbo 為繫結變數sql 生成的執行計畫可能不是最優(不會考慮具體的變數值)。通常oltp 系統適用於繫結變數,oltp 系統特點是,sql 執行頻繁且時間相對較短,sql 的分析時間比重較大。如果在dss 系統中,sql 執行時間長,相比之下分析時間微不足道,好的執行計畫才是最重要的,因此dss 系統繫結變數要另行考慮。  3、

hash_area_size

這是雜湊連線時雜湊表的存放區域,如果使用雜湊連線這個引數值不能過小,如果雜湊表不能完全存放於記憶體中,對雜湊連線效能的影響很大。如果是9i 建議啟動工作區自動管理,然後設定pga_aggregate_target。  4、

sort_area_size

記憶體排序區的大小,如果排序時記憶體區不夠會寫如磁碟。9i 同樣建議啟動工作區自動管理,然後設定pga_aggregate_target。  5、

hash_join_enabled

如果啟用這個引數,cbo 在考慮連線方法的時候將會考慮雜湊連線。  6、

optimizer_index_caching

這個引數表示被快取的索引塊所佔百分比,可選值的範圍是0-100。這個值會影響巢狀迴圈連線,如果這個值設得較高,cbo 將更傾向使用巢狀迴圈。 

7、optimizer_index_cost_adj

優化器利用這個引數(是個百分比)把索引掃瞄的成本轉換為等價的全表掃瞄的成本,然後與全表掃瞄的成本進行比較。預設值100,表示索引掃瞄成本與全表掃瞄成本等價。可選值範圍是0-10000。  8、

optimizer_max_permutations 

這個初始引數用來設定優化器最多考慮多少種連線順序,優化器不斷的產生可能的表的連線的排列,直到排列數達到引數optimizer_max_permutations 為止。一旦優化器停止產生新的可能連線排列,它將會從中選擇出成本最小的排列。  9、

db_file_multiblock_read_count

這個引數表示在全表掃瞄或索引快速全掃瞄時一次i/o 讀的連續資料塊數量(block#連續,且一次i/o 不能超過extent)。 

10、optimizer_mode

優化器模式,也是優化器的優化目標。值為:rule、choose、all_rows、first_rows_n、first_rows。 

11、partition_view_enabled

如果設定為true, 該優化器將跳過分區檢視中未被請求的分割槽,該引數還能更改基於成本的優化程式從基礎表統計資訊計算分割槽檢視統計資訊的方式。 

12、query_rewrite_enable

如果設定為true,優化器將利用可用的物化檢視來重寫sql。 

mockito初始化引數 初始化Mockito模擬

mockito初始化引數 與未開發的專案相比,維護專案並不有趣,但可以肯定的是,此專案提供了大部分內容。這個星期我沒有檢查生產 而是檢查了測試。在測試中看到的內容揭示了生產 本身是如何編寫的。這是一種以更少的風險使事情變得更好的方法。起初,我只想刪除盡可能多的powermock使用。然後我發現大多數...

引數初始化表

成員初始化表的作用如下 成員初始化錶用在類的建構函式中,對類的資料成員等初始化。其實它的作用還不僅如此。class a public a int a,int b x a y b 這就是成員初始化表 private int x int y class b public b int c private ...

引數初始化列表

1 引數初始化列表 初始化類的成員有兩種方式,一是使用初始化列表,二是在建構函式體內進行賦值操作。對於內建型別,如int,float等,使用初始化類表和在建構函式體內初始化差別不是很大,但是對於類型別來說,最好使用初始化列表,為什麼呢?由下面的測試可知,使用初始化列表少了一次呼叫預設建構函式的過程,...