spm总体说明
目录
1、如何工作
2、何时使用
1、如何工作
sql plan baseline 是一个关联sql 语句的对象,设计会影响查询优化器生成执行计划,更具体的说,一个sql baseline包含其中的一些内容,一个或多个执行计划的一组HINTS信息,基本上一个SQL plan baselines被使用会强制使查询优化器对于一个给定的sql语句生成一致的执行计划。
不是所有的HINTS都存储在SQL plan baselines中,有哪些不能存储呢?
SELECT name FROM v$sql_hint WHERE version_outline IS NULL
虽然 众多的HINTS不存储在sql plan baselines中但是不会影响执行计划(如:gather_plan_statistics)。还有一些其他会影响(如materialize和inline),这种结果,一些执行计划不能强制通过sql plan baseline 无需指定hint的模式
sql plan baseline其中一个好处他应用指定的sql语句,不需要修改sql 语句。实际上,sql plan baselines被存储与sql 管理基中,查询优化器自动选择他们,基本的步骤:
- 第一:常规方法sql语句被解析,换句话说,查询优化器在没有sql plan baseline的支持下生成一个执行计划
- 之后,查询优化使sql语句无大小写敏感并文本中的空格内容可以忽略,sql 语句的结果签名(signature)被计算,进入sql 管理基中被执行,如果一个sql plan baseline有相同的签名被找到,被核对确认sql语句被优化并sql 语句关联的sql plan baseline是相同的,这个核对是必须的因为签名是一个hash 值,随后,可能会有冲突。
- 当测试成功,查询优化器验证sql plan baseline是否包含这个生成的执行计划,如果包含并接受的,就执行他
- 如果在sql plan baseline存储的被接受是其他执行计划,这个HINTS关联它被使用其他执行计划生成。注意如果这个SQL plan baseline包含若干个执行计划,查询优化器选择最低代价的一个。
- 最后,查询优化器核对执行计划是否通过sql plan baseline的信息提供生成所期望的执行计划,如果最后核对被满足,执行计划可以被使用,如果不能满足,这个查询优化器尝试其他接受的执行计划,如果他们都不能重现,他会在没有sql plan baseline重新生成执行计划。

2、何时使用
使用sql plan baselines有两种情况,第一,无论你何时优化sql 语句都不能改变应用(如,在应用中不能把增加hints选项)。第二,你应该考虑何时、怎么的原因使用它,你遇到了麻烦的执行计划不稳定,因为sql plan baselinegs的目标是强制查询优化器从可以接受的执行计划的限制列表中选择一个执行计划,当你明确想限制查询优化器选择一个指定的执行计划。
spm总体说明的更多相关文章
- 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...
- ABP(现代ASP.NET样板开发框架)系列之1、ABP总体介绍
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...
- MVC5网站开发之一 总体概述
由于前几次都没能写完,这次年底总算有自由时间了,又想继续捣鼓一下.于是下载了VS 2015专业版(不知为什么我特别钟爱专业版,而不喜欢企业版).由于以前的教训,我这次决定写一个极简的Deom,简到什么 ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 8.总体控制器的设计
目 录 第八章 总体控制器的设计... 2 8.1 总控制器的职能... 2 8.2 组装和释放部件... 3 8.3 ...
- 163邮箱问题:554 DT:SPM 163 smtp5,D9GowACHO7RNWNdXmXs1Bw--.9035S2
最近公司需要开发一个自定义邮箱功能,上网查询一下,利用163邮箱发送邮件. 由于163 的反垃圾机制,(坑爹机制.) 一般出现 554有在1)测试中用了test,测试,关键字在主题或者内容里面. 但是 ...
- 通读SDWebImage①--总体梳理、下载和缓存
本文目录 下载操作SDWebImageDownloaderOptions和下载过程实现 下载管理SDWebImageDownloader 缓存SDImageCache SDWebImageManage ...
- Linux2.6内核进程调度系列--scheduler_tick()函数1.总体思想
参考的是ULK第三版,Linux2.6.11.12内核版本. 调度程序依靠几个函数来完成调度工作,其中最重要的第一个函数是scheduler_tick函数,主要步骤如下: /** * 维持当前最新的t ...
- 折腾一两天,终于学会使用grunt压缩合并混淆JS脚本,小激动,特意记录一下+spm一点意外收获
很长时间没有更新博客了,实在是太忙啦...0.0 ,以下的东西纯粹是记录,不是我原创,放到收藏夹还担心不够,这个以后常用,想来想去,还是放到这里吧,,丢不了..最后一句废话,网上搜集也好原创也罢,能解 ...
- https://yq.aliyun.com/articles/65125?spm=5176.100240.searchblog.18.afqQoU
https://yq.aliyun.com/articles/65125?spm=5176.100240.searchblog.18.afqQoU
随机推荐
- HTML5-1、标签
本文只是自己学习HTML5时的一些笔记.希望自己能够学好HTML5. 如果有感兴趣的同学.可以互相学习. 我觉得HTML5在未来的开发中站主导地位. 下面开始学习HTML5. 还是从HTML5标签开始 ...
- VS自动注释——GhostDoc
直接上图片,使用步骤是按顺序来的: 安装就不多说了,直接下一步,下一步.直接讲讲如何自定义注释规则 软件下载链接:http://pan.baidu.com/s/1dF5TSel 密码:peuz 链接: ...
- centos7 usually use
firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.22.103 port port=8 ...
- ASP.NET在IIS 5/6上的运行模型(ISAPI)
IIS 5.X中的ASP.NET 实现了Web Server和ASP.NET App的分离. IIS作为Web Server运行在InetInfo.exe进程上.该进程是非托管的本地进程. ASP.N ...
- HTTP_PROXY
Linux, macOS, or Unix: $ export HTTP_PROXY=http://a.b.c.d:n $ export HTTPS_PROXY=http://w.x.y.z:m 设置 ...
- 蓝牙音箱BluetoothA2dp
package myapplication.com.mybuletooch; import android.support.v7.app.AppCompatActivity; import andro ...
- The Vertica Analytic Database:C-Store 7 Years Later笔记
1.设计目标 Vertica数据库可以说是7年之后的C-Store,在2012年发表的这样一篇论文,描述了现在基于C-Store的一部分改进,当然,Vertica借鉴了很多C-Store的思想,但并非 ...
- pgpool如何对数据库节点进行状态检查及相关数据结构描述
/* * configuration parameters */typedef struct { char *listen_addresses; /* hostnames/ ...
- mock non-virtual methods
生产代码中有很多类方法是非虚的,而为了在Gtest中解除这些非必需的依赖,可以通过Gmock的mock non-virtual methods using templates方法来达到目的.在此之前, ...
- Unity Android发布“Bundle Identifier has not been set up correctly”
原文:http://answers.unity3d.com/questions/162141/android-bundle-identifier-has-not-been-setup.html