三九宝宝网宝宝教育计划总结

如何创建 SQL计划基线

02月13日 编辑 39baobao.com

[幸福家庭创建活动有哪些建议和意见]咸渭办发【2011】153号文件关于开展创建幸福家庭活动的实施办法 各村(居)委会、计生协会: 为了深入扎实开展计划生育“幸福家庭行动”,促进社会主义化新农村建设,根据秦都区人口...+阅读

创建和发展 SQL 计划基线 Oracle ACE 总监 Bjoern Rost 在 OTN 虚拟技术峰会专题讲座上做了这个题为“利用 SQL 计划管理改变 SQL 调优思路”的上机操作。这个上机操作演示了如何使用自动捕获为查询创建 SQL 计划基线,并演示了如何即使在添加索引之后,实际上也只使用接受的基线(使用全表扫描),直至检查和发展新的基线。 必需元素:Oracle 开发人员虚拟机 上机操作说明 我们将通过一个非常简单的查询使用一个简单的示例表。

我们将先对未建立索引的列运行查询,这将返回全表扫描结果。然后,我们将在该列上添加一个索引,看看是否仍然执行全表扫描并添加一个新的基线,其状态为未接受。我们将生成一个发展报告,最终发展成新基线,删除旧基线。 在开发人员 VM 中,以 pmuser/oracle 身份运行以下命令并收集统计信息。您可以从命令行或 SQLDeveloper GUI 工具使用 sqlplus。

[oraclelocalhost ~]$ sqlplus pmuser/oracle SQL*Plus: Release 12.1.0.1.0 Production on Thu Jun 12 09:48:13 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options PDB1ORCL>create table t as select * from dba_objects; Table created. PDB1ORCL>exec DBMS_STATS.GATHER_SCHEMA_STATS ('PMUSER'); PL/SQL procedure successfully completed. 第 1 步:验证 OPTIMIZER_USE_SQL_BLAN_BASELINES 是否设置为 true(默认值) PDB1ORCL>show parameter baselines NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ optimizer_capture_sql_plan_baselines boolean FALSE optimizer_use_sql_plan_baselines boolean TRUE 第 2 步:为此会话启用自动捕获,运行一条语句两次,并再次禁用自动捕获。

PDB1ORCL>ALTER SESSION SET OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES = TRUE; Session altered. PDB1ORCL>variable var42 varchar2(42); PDB1ORCL>exec :var42 := 'PMUSER'; PL/SQL procedure successfully completed. PDB1ORCL>select count(*) from t where owner= :var42; COUNT(*) ---------- 5 PDB1ORCL>select count(*) from t where owner= :var42; COUNT(*) ---------- 5 PDB1ORCL>ALTER SESSION SET OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES = FALSE; Session altered. 现在,我们应得到该 sql 的基线: PDB1ORCL>set linesize 300 PDB1ORCL>column sql_handle format a20 PDB1ORCL>column plan_name format a42 PDB1ORCL>column sql_text format a42 PDB1ORCL>select sql_handle, plan_name, sql_text, enabled, accepted, fixed from dba_sql_plan_baselines; SQL_HANDLE PLAN_NAME SQL_TEXT ENA ACC FIX -------------------- ------------------------------ ------------------------------------------ --- --- --- SQL_abdfaaa7e926cf0a SQL_PLAN_arrxanznkdmsa3fdbb376 select count(*) from t where owner= :var42 YES YES NO 注意,现在该语句有了一条基线,并自动设置为 ACCEPTED。

现在我们创建一个索引,启用自动捕获重新运行查询,通过索引扫描收集新基线。 PDB1ORCL>create index t_idx on t (owner); Index created. PDB1ORCL>exec dbms_stats.gather_schema_stats ('PMUSER'); PL/SQL procedure successfully completed. PDB1ORCL>alter system flush shared_pool; System altered. PDB1ORCL>ALTER SESSION SET OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES = TRUE; Session altered. PDB1ORCL>select count(*) from t where owner= :var42; COUNT(*) ---------- 5 PDB1ORCL>select count(*) from t where owner= :var42; COUNT(*) ---------- 5 PDB1ORCL>ALTER SESSION SET OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES = FALSE; Session altered.

以下为关联文档:

如何写作创建学习型班组总结班组是培育人才、激励人才最重要、最直接的阵地,因此,学习型班组建设是提升企业核心竞争力的本质要求。 1、学习型班组建设有助于员工共同价值观的形成。在“两弹一星”精神和...

父母是怎样给孩子创建幸福生活的一、拼不过别人的爸妈,就给孩子最好的爱和陪伴。小孩子特别需要安全感,从小孩刚出生的那一刻,最先接触的就是妈妈,所以越亲近Ta的人就越能给Ta安全感。许多中国的父亲认为带孩子...

怎么用C语言创建桌面快捷方式展开全部 C:\Documents and Settings\Default User\SendTo C:\Documents and Settings\你的用户名\SendTo 有没有“桌面快捷方式”这个desklink文件。 如果没有,在C:\Documen...

iphone 5s自带音乐播放器怎么创建播放列表??解答问题:新建播放列表步骤如下: 一:点击自带音乐APP: 第二步:点击播放列表: 第三部:点击新建播放列表: 第四步:输入播放列表的名称和描述(这里试例:名称为我的音乐,描述为喜欢的歌),...

wwe2012终极碰撞怎么创建人物进入游戏,选择第四个CREATE A SUPERSTAR,出现两个选择:CREATE A SUPERSTAR和EDIT A SUPERSTAR,第一个是创建游戏人物,第二个是对已经创建的游戏人物进行修改。 进入第一个选择,按...

android应用程序开发为串口接收数据创建的子线程问题急!找Bug应该要有条理,我们首先不能确定"每次都去执行while(value2 != 1)以外的代码",因为程序执行的很快,可能收发很快,循环每妙执行多少次不确定,而且你的阻塞时间还是0,最好循环内外...

微信创建了群怎么解散微信不小心建了群,可将其他成员移出群组,即可解散;也可自己删除并退出群组,解散与否跟自己不再相关。 群组创建人(显示在群成员列表中的第一位),可将其他成员移出群聊,解散该群即可;...

很久以前看过的一本网游小说主角创建的工会有上亿人打一次战争网游之主宰万物 作者:孤雨随风 天龙学院新生晓宇意外之下进入游戏《王者》竟然在游戏世界中突破自身潜能领悟超神技能,但是却在某种神秘的力量阻止之下他竟然无法在游戏中转职...

项目范围基线是什么定义:项目范围基线是批准的详细项目范围说明书与对应的工作分解结构和工作分解结构词汇表。项目的“基线”是指在项目的生命周期中的某个时间点上,项目的计划日期或预算等关键...

推荐阅读
图文推荐