欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 配置查询优化器

程序员文章站 2023-12-23 12:16:34
...

查询优化器对于SQL语句的性能非常重要,因为我们写的SQL语句最后被数据库执行,是通过查询优化器生成执行计划实现的。如果查询优

一. 背景介绍

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

二. 配置线路图

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

Oracle 配置查询优化器

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

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

Oracle 配置查询优化器

上一篇:

下一篇: