问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle11g中SQL优化新特性之SQL Plan Management(SPM)

发布网友 发布时间:2天前

我来回答

1个回答

热心网友 时间:18小时前

Oracle Database11gR1引入的SQL Plan Management(SPM)是一项新特性,允许DBA捕获并保持任意SQL语句执行计划的最优状态,以限制刷新优化器统计数据、应用变化和数据库版本升级带来的影响。本文旨在帮助读者理解SPM的基本原理,并简要说明其在性能优化中的能力。

SPM通过一个简单而优雅的方法实现了解决SQL计划意外恶化的策略。一旦用户会话开启了自动SQL Plan Baseline捕获,CBO(Cost-Based Optimizer)就会在SQL Management Base(SMB)内记录会话内执行的任何SQL语句,包括SQL文本、概要(Outline)、绑定变量及其编译环境,并将其存储为一个SQL Plan Baseline。当SQL语句第二次执行时,CBO会比较新计划与SMB中的计划,评估新计划是否更高效。如果新计划能提升性能,SPM会将其标记为该语句的最优计划。然而,如果新计划降低了性能,SPM会在SMB中选择成本最低的计划,并将其存储,以备将来使用。

SPM捕获SQL Plan Baselines的过程相对简单。首先,通过调整参数`OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES`为TRUE,开启自动捕获功能。该参数默认为FALSE,表示不自动捕获。通过DBMS_SPM包,可以从数据库缓存、SQL Tuning Set或AWR快照中,或导入存储表中,预先捕获和导入大量SQL语句的计划。

捕获的SQL Plan Baselines包含SPM和CBO用于控制计划的元数据。当新计划进入SMB时,它会自动被标记为ENABLED,但只有在被验证为良好计划后,才会被标记为ACCEPTED。查询这些元数据最简单的方法是通过`DBA_SQL_PLAN_BASELINES`字典视图。查看已存在的SQL Plan Baselines以及对一条SQL语句执行有潜在影响的方法,可以通过DBMS_XPLAN包中的`DISPLAY_SQL_PLAN_BASELINE`过程实现。

自动捕获SQL Plan Baselines的实现涉及调整参数和执行相同的SQL语句两次。第一次记录SQL语句,第二次捕获计划并标记为该语句的ACCEPTED SQL Plan Baseline。如果后续执行产生不同的新计划,该计划也会被自动捕获,但不会被标记为ACCEPTED。SPM只会将第一个计划标记为ENABLED和ACCEPTED。

SQL Plan Baselines的演化过程包括手动和自动方法。手动方法包括调用`dbms_spm.evolve_sql_plan_baseline()`函数或使用SQL Tuning Advisor工具包来执行演化任务。自动方法则包括定期调度`evolve_sql_plan_baseline()`函数,或配置SQL TUNING ADVISOR以在自动任务窗口中自动运行。

具体操作包括:开启自动捕获和使用SPM,通过`ALTER SESSION`语句调整参数;查看SPM元数据和使用`DBMS_XPLAN.DISPLAY_SQL_PLAN_BASELINE`显示包含特定文本的SQL Plan Baselines。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
急求高人解答 ···管理类的问题 ···!!!急急急···我会在线等... ...如果基层管理幅度为8,高层管理人员管理幅度为3,则该公司中层管理人员... ...发生化学变化的实质是( )A.分子间隔发生变化B.物质状态发生改变C... 下列变化不能说明发生了化学变化的是( )A.变化时有电子的得失或共用电... 下列描述正确的是( )A.固态物质的分子间无间隔B.液态物质的分子不断运动... 原来微信打开这个功能,能够看到马路上的街景,涨知识了! ...百度帐号被人在异地登录了,问题是没有任何人知道我的密码啊?而且也... 医疗事故纠纷和医疗损害纠纷的区别是什么 医疗纠纷与医疗事故的定义是什么? 医疗事故纠纷是指什么的 win32_11gR1_client和win32_11gR2_client有啥区别 同步提优数学6年级 ...分层则有男工500人,女工100人,现要抽取60人作为样本进? 要从10人中选出4人去参加活动,其中甲乙必须同时参加或同时不参加,问共... 在一次演唱会上共有6名演员,其中4人能唱歌,4人能跳舞,现要演出一个2人... ...其中的两个人。从10个人中选4个人,正好有甲和乙的概率是?_百度... 关于赞美老师的排比句句子大全 (清)李渔《梅》阅读答案及翻译 ...问题。霜天晓角·梅范成大晚晴风歇,一夜春威折。脉脉花疏天淡,云... (致命复活)电视剧完整版bt下载地址!! 谁有致命复活全集 《致命复活》剧情简介15-21集剧透 幕后大BOSS已经亮相? 红色毛癣菌怎样治疗 ...使横行,竖行,斜行三个数相加都等于45有规律可循吗? ...九个数填入圆圈里是横横竖横和斜行上三个数相加都得45 ...27填在方格里,使每一横行斜行的三个数相加都得45。 把3.6.912.18.21.4.27.填在方格里,每行都等于45.横,竖,斜都等于45 寻仙问情记仙魔战场怎么玩介绍_寻仙问情记仙魔战场怎么玩是什么 仙剑诛魔仙魔战场玩法攻略介绍_仙剑诛魔仙魔战场玩法攻略是什么 仙魔战场攻略_仙魔战场玩法_仙魔战场技巧 enfp最适配人格 Json与Json工具(cJSON、JsonCpp 、RapidJSON)介绍 rapidjson 解析字符串后如何去掉斜线 “\/aaa" 变成"/aaa 简单高性能的Json解析器: Jason FPJson & swxJson 介绍 小白学数控从什么学起 初学数控编程应该从哪里开始学 学习数控编程,该从哪里入手 数控编程教学从零开始:数控编程6个步骤快速学会 李昕融今年多大 小区如何管理制度 小区公共设施设备交政府管理制度 小区环境卫生管理制度 小区物业管理制度主要会包含哪些内容? ...蜜蜂聚集在蜂箱上,双翅没有振动,仍嗡嗡地叫个不停。她对《十万个为 ... 看到一篇文章,大家说说蜂箱留空间余地有好处吗 密封是靠什么发出声音的?? 有盗伪为煞神译文 有盗伪为煞神理解 有盗伪为煞神原文