1.配置還是不配置
沒有任何乙個引數的選值適用於所有情況
2.配置路線圖
3.設定正確的引數
-optimizer_mode 查詢優化器依據該值決定哪個是最高效的執行計畫
all_rows:獲取所的記錄更重要
first_rows_n(n=1,10,100...1000)獲取前幾行更重要
-optimizer_features_enable 保留查詢優化器在舊版本上原有的行為
-db_file_multiblock_read_count在多塊讀的情況下,資料庫引擎使用最大i/o大小取決於初始化引數db_file_multiblock_read_count和db_block_size的乘積,因此在多塊讀時最大的塊數是用最大的i/o吞吐量除以乙個塊的大小。在工作量統計資訊不可用時,多塊讀操作的開銷計算有直接影響
無系統統計資訊時多塊多的系統開銷io_cost約=blocks/1.6765*db_file_multiblock_read_count(0.6581次方)
工作量統計資訊計畫多塊操作i/o開銷io_cost約=blocks/mbrc * mreadtim/sreadtim
-optimizer_dynamic_sampling查詢優化器使用動態取樣作為評估依據,取值(0-10)個等級
-optimizer_index_cost_adj 調節索引掃瞄開銷
io_cost=(blevel+(leaf_blocks+clustering_factor)*selectivity)*optimizer_index_cost_adj/100
-optimizer_index_caching 用於在執行in-list遍歷和巢狀迴圈連線時,指出預計已存在於快取記憶體的索引塊數
io_cost=(blevel+leaf_blocks*selectivity)*(1-optimizer_index_caching/100)+clustering_factor*selectivity)*optimizer_index_cost_adj/100
-optimizer_secure_view_merging 用於控制檢視合併,可設定為false或true
false允許查詢優化器每次都執行檢視合併
true只在不會引起安全問題的情況下允許檢視合併
4.pga管理
-workarea_size_policy指定控制工作大小的方式
-pga_aggregate_target指定乙個例項可用的總pga大小
-sort_area_size指定用於合併連線、排序、聚合的工作區大小
-sort_area_retained_size指定用於排序操作的工作區大小
--hash_area_size指定用於hash連線工作區域大小
-bitmap_merge_area_size指定用於合併與點陣圖索引相關工作區大小
Oracle 配置查詢優化器
一.背景介紹 查詢優化器對於sql語句的效能非常重要,因為我們寫的sql語句最後被資料庫執行,是通過查詢優化器生成執行計畫實現的。如果查詢優化器生成的執行計畫低效,那麼就會導致低劣的效能。有一些引數的配置能夠影響到查詢優化器生成高效的執行計畫,但也是有風險的。總之,可以這麼說,配置查詢優化器的代價是...
mysql 查詢優化器 資料庫查詢優化器
所謂查詢優化,目標是關聯式資料庫下或者 newsql 的 sql server 層對 sql 語句進行優化,在不改變期望結果的情況下使得資料庫引擎計畫執行時間最短。狹義的查詢優化技術是指邏輯優化與物理優化 在後面會細講 廣義上的查詢優化技術包括從 sql 語句輸入開始,對 sql 語句的重寫,內部執...
MYSQL查詢優化器
1 優化器本質 計算io成本 減少io訪問次數 計算cpu成本 制定成本消耗最低的方案 2 優化的兩個階段 邏輯查詢計畫優化 邏輯表示式,算術運算子等 物理查詢計畫優化 mysql中的各級buffer cache 1 buffer cache用於訪問加速以記憶體空間換取效能 2 在幾乎所有需要磁碟i...