管理SQL配置文件Managing SQL Profiles
SQL配置文件是一组特定于SQL语句的辅助信息。
本节包含以下主题:
■SQL配置文件概述
■接受SQL配置文件
■更改SQL配置文件
■删除SQL配置文件
■传输SQL配置文件
SQL配置文件概述
SQL配置文件包含对自动SQL调整期间发现的较差优化程序估计值的更正。此信息可以改进优化器基数和选择性估计,从而导致优化器选择更好的计划。
SQL配置文件不包含有关各个执行计划的信息。相反,优化程序在选择计划时具有以下信息源:
■环境,包含数据库配置,绑定变量值,优化程序统计信息,数据集等
■SQL配置文件中的补充统计信息
如果环境或SQL配置文件发生更改,则优化程序可以创建新计划。
您可以使用SQL配置文件,无论是否有SQL计划管理。如果使用SQL计划管理,则优化程序选择的计划必须是已启用的计划基准。如果语句在基线中有多个计划,则配置文件仍然有用,因为它使优化程序能够选择基准中的最低成本计划。
图17-4说明了SQL语句与此语句的SQL配置文件之间的关系。优化程序使用配置文件和环境生成查询计划。在此示例中,计划位于语句的SQL计划基准中。
SQL配置文件具有以下优点:
■与提示和存储的大纲不同,配置文件不会将优化程序与特定计划或子计划相关联。 配置文件修复了错误的估计值,同时为优化程序提供了在不同情况下选择最佳计划的灵活性。
■与提示不同,使用配置文件时不需要更改应用程序源代码。
数据库对SQL配置文件的使用对用户是透明的。
SQL配置文件建议
在SQL调优期间,您选择一个语句进行自动调整并运行SQL Tuning Advisor。 数据库可以分析以下类型的语句:
■DML语句(SELECT,带有SELECT子句的INSERT,UPDATE和DELETE)
■CREATE TABLE语句(仅适用AS SELECT子句)
■MERGE语句(更新或插入操作)
SQL Tuning Advisor调用自动调整优化器来生成建议。
在优化过程中可以选择接受SQL配置文件的建议。
例17-3显示数据库为使用几个昂贵连接的SELECT语句找到了更好的计划。