对比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区别的更多相关文章

  1. SQL Server 2008各版本介绍区别(包含企业版 开发者版 标准版 Web版 工作组版 Express版 Compact版)

    SQL Server 2008分为SQL Server 2008企业版.标准版.工作组版.Web版.开发者版.Express版.Compact 3.5版,其功能和作用也各不相同,其中SQL Serve ...

  2. sql server 维护计划与作业关系区别

    sql server 维护计划与作业关系区别 对于二者的区别,你可以把维护计划看作是针对数据库进行维护的作业模板.自定义作业具有更广泛的用途,当然,也具有更复杂的操作.所以,如果 仅仅是做个数据库优化 ...

  3. SQL Server 2012 各版本功能比较

    有关不同版本的 SQL Server 2012 所支持的功能的详细信息. 功能名称 Enterprise 商业智能 Standard Web Express with Advanced Service ...

  4. 数据库 --> SQL Server 和 Oracle 以及 MySQL 区别

    SQL Server 和 Oracle 以及 MySQL 区别 三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性.排行第四的DB2(属IBM公司),与Oracle的定位和架构非 ...

  5. SQL Server,MySQL,Oracle三者的区别

    SQL Server,MySQL,Oracle三者的区别 2016-10-14 转自:SQL Server,MySQL,Oracle三者的区别 目录 1 Oracle.Sql Server.MySql ...

  6. SQL server 2012 各个版本比较

    有关不同版本的 SQL Server 2012 所支持的功能的详细信息. 功能名称 Enterprise 商业智能 Standard Web Express with Advanced Service ...

  7. SQL Server 2017 各版本之间的差异

    SQL Server 2017的亮点 您选择的语言和平台 使用您选择的语言在本地和云中(现在在 Windows.Linux 和 Docker 容器上)构建现代应用程序. 行业领先的性能 充分利用任务关 ...

  8. SQL SERVER 数据库各版本功能对比

    以前写了篇SQL SERVER 2008数据库各版本功能对比,官网提供的那个功能确实很好很强大,后面发现那个链接失效了.今天又遇到要对比SQL Server 2014数据库版本功能需求,搜索找了好久才 ...

  9. SQL Server 本地语言版本

    要一些实验是往往喜欢使用英文的Windows 以及SQL Server ,但有时需要使用中文的环境方便理解.中文的SQL Server 不能被安装在英文的Windows 系统上. 根据文档可得知以下兼 ...

随机推荐

  1. JavaSE--面向对象

    面向对象(Object Oriented) 面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节:这种思想是将数据作为第一位, ...

  2. Vim插件YouCompleteMe安装记录(号称最难装的Vim插件?)

    使用 PulginInstall 安装就不要想了,如果你没有梯子的话 自己的 ssr 被封,使用的同事的 ss,但是同事设置的加密方式在 linux 上的 ss 应用不支持... 好吧,直接上过程 1 ...

  3. sql修改表名字段名

    修改字段: ALTER TABLE user_info CHANGE NAME name VARCHAR(10); 修改表名alter TABLE user_role RENAME user_info ...

  4. Linux 防火墙之TCP Wrappers

      1.TCPWrappers  原理 Telnet.SSH.FTP.POP和SMTP等很多网络服务都会用到TCPWrapper,它被设计为一个介于外来服务请求和系统服务回应的中间处理软件.     ...

  5. 012-zabbix主动模式

    6.1 主动模式 zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的.简单说明一下主动与被动的区别如下: 主动: ...

  6. 接口测试参数化详解(Jmeter)

    简介 接口测试是目前最主流的自动化测试手段,它组合不同的参数向服务器发送请求,接受和解析响应结果,通过测试数据的交换逻辑来验证服务端程序工作的正确性.我们在测试过程中需要考虑不同的输入组合,来覆盖不同 ...

  7. zabbix服务的布置(脚本)

    一,服务端配置 #!/bin/bash#clsn #设置解析 注意:网络条件较好时,可以不用自建yum源# echo '10.0.0.1 mirrors.aliyuncs.com mirrors.al ...

  8. 3.4 jmu-java-随机数-使用蒙特卡罗法计算圆周率的值 (10 分)

    import java.util.Scanner; import java.util.Random; public class Main {         public static void ma ...

  9. maven参数详解

    setting.xml主要用于配置maven的运行环境等一系列通用的属性,是全局级别的配置文件:而pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和li ...

  10. MySQL优化建议与使用规范

    适用场景:并发量大.数据量大的互联网业务;可以先阅读必须掌握的MySQL优化指南 一.基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源 ...