SQL Server新老版本CE区别
对比CE7和2014 CE12的区别:
1.表连接中连接列估算方式
老CE对所有参与连接列的统计信息step进行逐个估算。新CE只对于最大和最小step统计信息进行收集估算,在连接列的值分布不均匀的时候,老CE拥有更准确的估算。
2.对于where语句多条件估算
老CE认为各个条件独立计算,不存在相关性,估算结果以选择性最高的条件单独为标准,新CE估算方式是条件1选择性*sqrt(条件2选择性)*sqrt(sqrt(条件3选择性)) ,其中条件1 选择性>条件2>条件3,这种相关估计对于多条件语句,新CE有更准确的估计。
3.where条件超越统计信息边界的估算
老CE针对where条件超越统计信息边界的估算简单的使用统计信息边界step对应的值进行估算, 而新CE采用的行总数*行密度的方式估算,更加准确。
4.连接条件on中含有多条件等值连接的估算
老CE使用单条件列的选择性进行简单相乘的方式,值往往偏小,新CE采用对两个条件列去重复后较小的列乘以连接两个表的平均密度,估算值偏大。
5.多条件非等值连接估算。
老CE简单对于连接条件列的选择率相乘,估算值偏低,新CE假设连接是小表对大表一对多的关系,并以大表的输入估算值计算,估算值偏高。
6.非连接条件列估算:
老CE认为非连接条件列相互独立,选取较大估算值的条件列并认为同时符合连接两端,估计值偏高,新CE认为不同表的非连接条件不相关,先进行连接选择性估算, 之后再应用非连接条件列过滤。
7.连接后去重复操作(distinct,group by)
老CE在去重之前进行多对多的连接估算,估值偏高,而新CE首先进行去重之后再用较小结果进行连接估算。
SQL Server新老版本CE区别的更多相关文章
- SQL Server 2008各版本介绍区别(包含企业版 开发者版 标准版 Web版 工作组版 Express版 Compact版)
SQL Server 2008分为SQL Server 2008企业版.标准版.工作组版.Web版.开发者版.Express版.Compact 3.5版,其功能和作用也各不相同,其中SQL Serve ...
- sql server 维护计划与作业关系区别
sql server 维护计划与作业关系区别 对于二者的区别,你可以把维护计划看作是针对数据库进行维护的作业模板.自定义作业具有更广泛的用途,当然,也具有更复杂的操作.所以,如果 仅仅是做个数据库优化 ...
- SQL Server 2012 各版本功能比较
有关不同版本的 SQL Server 2012 所支持的功能的详细信息. 功能名称 Enterprise 商业智能 Standard Web Express with Advanced Service ...
- 数据库 --> SQL Server 和 Oracle 以及 MySQL 区别
SQL Server 和 Oracle 以及 MySQL 区别 三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性.排行第四的DB2(属IBM公司),与Oracle的定位和架构非 ...
- SQL Server,MySQL,Oracle三者的区别
SQL Server,MySQL,Oracle三者的区别 2016-10-14 转自:SQL Server,MySQL,Oracle三者的区别 目录 1 Oracle.Sql Server.MySql ...
- SQL server 2012 各个版本比较
有关不同版本的 SQL Server 2012 所支持的功能的详细信息. 功能名称 Enterprise 商业智能 Standard Web Express with Advanced Service ...
- SQL Server 2017 各版本之间的差异
SQL Server 2017的亮点 您选择的语言和平台 使用您选择的语言在本地和云中(现在在 Windows.Linux 和 Docker 容器上)构建现代应用程序. 行业领先的性能 充分利用任务关 ...
- SQL SERVER 数据库各版本功能对比
以前写了篇SQL SERVER 2008数据库各版本功能对比,官网提供的那个功能确实很好很强大,后面发现那个链接失效了.今天又遇到要对比SQL Server 2014数据库版本功能需求,搜索找了好久才 ...
- SQL Server 本地语言版本
要一些实验是往往喜欢使用英文的Windows 以及SQL Server ,但有时需要使用中文的环境方便理解.中文的SQL Server 不能被安装在英文的Windows 系统上. 根据文档可得知以下兼 ...
随机推荐
- php常用header状态
<?php //200 正常状态 header('HTTP/1.1 200 OK'); // 301 永久重定向,记得在后面要加重定向地址 Location:$url header('HTTP/ ...
- Java编程思想读书笔记 第十章 内部类
非静态内部类作用: 最基本的作用:名字隐藏和组织代码 用例:内部类不访问外部类的元素时可以直接new.(bad style!) 用例:通过外部类的非静态方法返回内部类的引用,这样隐含了内部类对象和其对 ...
- 主成分分析法详解(PCA)
引用:https://blog.csdn.net/program_developer/article/details/80632779 将n维特征映射到k维上,只保留包含绝大部分方差的维度特征,而忽略 ...
- java 字符串锁
package com.example.demo.controller; public class StringLock { public void method(String p) { // new ...
- 2.学习Application
2学习Application Application对象事件 名称 说明 Activated 当应用程序成为前台应用程序时触发 Deactivated 当应用程序不再是前台应用程序时触发 Dispat ...
- java.lang.IllegalStateException: No output folder
将正在正常运行的tomcat打包(使用tar -zcvf命令打的包),然后放到其他服务器上使用非root用户解压(使用tar -zxvf命令)配置好之后,启动tomcat后报错如下 HTTP Stat ...
- 将shell脚本的执行过程和执行结果导入到log文件中
[root@localhost scripts]# vim ping.sh #!/bin/bash set -x ##分步执行 exec &> /tmp/log.txt ##脚本执行的过 ...
- (转)MyBatis 一、二级缓存和自定义缓存
1.一级缓存 MyBatis 默认开启了一级缓存,一级缓存是在SqlSession 层面进行缓存的.即,同一个SqlSession ,多次调用同一个Mapper和同一个方法的同一个参数, 只会进行一次 ...
- Wannafly挑战赛22 D 整数序列 (线段树维护三角函数值)
链接:https://ac.nowcoder.com/acm/contest/160/D 来源:牛客网 整数序列 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语 ...
- Understand:高效代码静态分析神器详解(一) 转
之前用Windows系统,一直用source insight查看代码非常方便,但是年前换到mac下面,虽说很多东西都方便了,但是却没有了静态代码分析工具,很幸运,前段时间找到一款比source ins ...