1、Oracle 优化程序所能完成的工作有哪些?
评估表达式和条件;使用对象和系统统计数据;决定如何访问数据;决定如何连接表;决定最高效的访问路径。
2、优化程序统计信息收集的方式有哪几种?
自动地:自动维护任务
手工地:DBMS_STATS包
设置数据初始化参数
从其他数据库导入
3、请对 SQL 计划指令(SQL Plan Directives)的原理和用途给出详细解释。
原理:被持久化保存在SYSAUX表空间;自动维护指令;在编译或执行期间根据需要创建(缺少统计信息,基数错误估计);一年后不适应则清除。
用途:可以让优化程序生成更优的执行计划,可在多个语句中使用。
4、什么是自适应执行计划(Adaptive Execution Plans)?
自适应计划:能让优化程序在运行期间自动调整性能不佳和使用资源较多的计划,防止影响后续的执行效率。
5、请详细说明 SQL 优化指导的作用?
对单个SQL语句进行优化;监测过时或缺少统计数据的语句;优化SQL计划
6、请详细说明 SQL 访问指导的作用?
在索引、实体化视图、实体化视图日志分区给出建议
7、在使用 SQL 优化和 SQL 访问指导时,limited 和 comprehensive 范围选项各自有什么区别?
如果选择limited选项,SQL优化指导将根据统计信息检查、访问路径分析和SQL结构分析生产建议。Limited不会提出SQL配置文件建议。
如果选择comprehensive选项,SQL优化指导会生成limited选项生成的所有建议,同时也会调用SQL分析模式下的优化器来构建SQL配置文件。使用“综合”选项,还可以为调优任务指定时间限制。
8、对于重复 SQL,Oracle 数据库是如何处理的?
重复SQL语句是仅在所使用的文本值或格式上不同的语句。如果文本被绑定变量替换,并且格式化相同,可以使用相同的游标。
9、请详细说明性能分析程序的作用
帮助预测系统更改对SQL工作负载响应时间的影响;
构建不同版本的SQL5工作负载性能;
串行执行SQL;
分析性能差异;
提供对单个SQL的细粒度性能分析
与SQL优化指导集成以调优回归