我是甲骨文的新手,我正在尝试理解sql配置文件并实现它们。在这里,我正在运行sql advisor,并得到了以下建议
1)考虑接受建议的SQL配置文件,以便对此语句使用并行执行。99.7(好处)2)考虑接受推荐的SQL配置文件。95.88
我知道第一个选项是并行执行(我可以使用并行提示执行),但是当我实现第二个选项时,explain plan显示plan same as parallel hint(第一个)。第二个推荐的配置文件是否也与第一个相同?我尝试在v$px_表中查看用于此查询的度数,但什么也没有得到。
谢谢
发布于 2014-05-22 05:13:39
使用Kerry Osborne的this article中的方法来了解您的配置文件是如何工作的。
简而言之,就是接受一个概要文件,使用select * from dba_sql_profiles order by last_modified desc;
查找新的profile_name,然后运行以下查询来查找提示:
select hint as outline_hints
from
(
select
p.name,
p.signature,
p.category,
row_number() over
(partition by sd.signature, sd.category order by sd.signature) row_num,
extractValue(value(t), '/hint') hint
from
sys.sqlobj$data sd,
dba_sql_profiles p,
table(xmlsequence(extract(xmltype(sd.comp_data), '/outline_data/hint'))) t
where sd.obj_type = 1
and p.signature = sd.signature
and p.category = sd.category
and p.name like ('<add profile_name from above>')
)
order by row_num;
SQL配置文件中充满了未记录的提示。你可以在问题中添加你的提示,但我们可能无法破译它们。SQL配置文件是一个很好的想法,但它们不是很透明。
https://stackoverflow.com/questions/23791497
复制相似问题