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
随机推荐
- maven的pom.xml配置标签
转自:https://blog.csdn.net/wf787283810/article/details/76188595 <project xmlns="http://maven.a ...
- 在centos上面开机自启动某个程序
Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置.可以通过 systemctl --version 命令来查看使用的版本 常用命令 # 立即启动一个服务 $ s ...
- php-fpm配置笔记
php-fpm配置不当,导致服务器经常出现502错误,上个学期多次调整都没有解决,网上找来资料,大都是增加max_children,可是我都加到顶了,php-fpm log里面还是有大量的警告: ee ...
- centos7 usually use
firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.22.103 port port=8 ...
- onmouse事件与mouse事件
1.mouse是js,onmouse是html的,其实差别就是加了一个on 2.mouse事件:鼠标移动时:1>会有冒泡的:mouseover ,mouseout 2>没有事件冒泡的: m ...
- (转载)Android快速开发偷懒必备,一句话搞定所有ViewGroup的Adapter . 支持自定义ViewGroup
[置顶] [Android]快速开发偷懒必备,一句话搞定所有ViewGroup的Adapter . 支持自定义ViewGroup 标签: androidAdapter快速开发0耦合 2016-12-1 ...
- QQ自动登录里的一些控件知识
在这个程序里面有个读取计算机指定文件的知识: private void button2_Click(object sender, EventArgs e) { openFileDialog1.Show ...
- hiho 1476 - 矩形计数 容斥
题目链接 如图所示,在由N行M列个单位正方形组成的矩形中,有K个单位正方形是黑色的,其余单位正方形是白色的. 你能统计出一共有多少个不同的子矩形是完全由白色单位正方形组成的吗? ----------- ...
- JAVA 静态内部类--转自http://bbs.csdn.net/topics/350021609
内部类其实并不是非要声明成static的..主要还是要看实际情况决定..静态和非静态有不同的作用.. 引用一篇文章给楼主参考下吧. 在一个类中创建另外一个类,叫做成员内部类.这个成员内部类可以静态的( ...
- 3ds Max制作欧式风格的墙壁路灯效果
在这篇文章中,我将解释我创建我的形象元宵节的步骤.我只是在寻找一个很好的参考图像在互联网上的东西,我觉得我想要的模型,这个形象.我发现了一个巨大的灯笼形象,但在白天的图片拍摄.我想改变我的形象和显示的 ...