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指定用于合并与位图索引相关工作区大小