oracle配置了优化器,Oracle 配置查询优化器

本文介绍了Oracle查询优化器的重要性,以及如何通过调整特定参数来优化执行计划。关键步骤包括设置optimizer_mode和db_file_mutiblock_read_count参数,收集统计信息,内存管理,以及根据需要调整optimizer_index_caching和optimizer_index_cost_adj。最终目标是确保查询优化器能为大部分SQL生成高效执行计划。
摘要由CSDN通过智能技术生成

Oracle 配置查询优化器

一. 背景介绍

查询优化器对于SQL语句的性能非常重要,因为我们写的SQL语句最后被数据库执行,是通过查询优化器生成执行计划实现的。如果查询优化器生成的执行计划低效,那么就会导致低劣的性能。有一些参数的配置能够影响到查询优化器生成高效的执行计划,但也是有风险的。总之,可以这么说,配置查询优化器的代价是昂贵的,但值得为此付出。

二. 配置线路图

我们可以按照如下图所示的路线,来一个个参数进行配置

0848b5bceb07b109d08baee34c4c71b4.png

下面是对图中标有数字步骤的描述:(后面再详细描述各个参数的含义)

1. 这两个参数需要调整:optimizer_mode 和 db_file_mutiblock_read_count

2. 这一步的参数默认值已经很合适了,通常没必要调整。这些参数主要是要启用或者禁止查询优化器某一些特性

3. 收集系统统计信息和对象统计信息,这一步是必须做到,不过Oracle10g中已经自己做了。

4. 内存中存储数据时选择手动还是自动调整内存的使用量。

5. 自动调整的话,需要设置pga_aggregate_target参数。

6. 手动调整的话,需要设置这些参数。

7. 测试应用程序是否达到预期的性能

8. 如果查询优化器能为大多数SQL生成高效执行计划,则配置成功,否则需要进行第9步。

9. 如果查询优化器倾向于使用过多或者过少索引,通常需要调整参数optimizer_index_caching和optimizer_index_cost_adj

1

2

3

下一页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值