SQL Server 2016 列存储索引功能增强「建议收藏」

SQL Server 2016 列存储索引功能增强「建议收藏」列存储索引(columnstoreindex)在SQLServer2012中已经引入,其带来性能提升的同时也有很多限制,比如对带有列存储索引的表进行INSERT,UPDATE和DELETE时,会遇到如下错误提示:由于这种限制,索引列存储索引并不太适合在OLTP中应用。不过,SQLServer2016对列存储索引做了很多改进,其中我觉得最大的变化是可更新的

大家好,又见面了,我是你们的朋友全栈君。



列存储索引(columnstore index)在SQL Server 2012中已经引入,其带来性能提升的同时也有很多限制,比如对带有列存储索引的表进行INSERT, UPDATEDELETE时,会遇到如下错误提示:

SQL Server 2016 列存储索引功能增强「建议收藏」

由于这种限制,索引列存储索引并不太适合在SQL Server 2012 OLTP DB中应用。不过,SQL Server 2016对列存储索引做了很多改进,其中我觉得最大的变化是可更新的列存储索引,即可以直接对带有列存储索引的表进行INSERT, UPDATEDELETE,因此,我们可以在SQL Server 2016环境中尝试应用这以功能,已提升查询性能。若想具体了解列存储索引的概念、特征、创建及使用,可参考我之前整理的Blog

SQL 2016环境测试的过程中,我发现列存储索引对于有聚集函数的T-SQL,有很好的性能提升,比如下面这个示例,性能提升约15

JOIT表有1500833笔记录,复制一份到JOIT_CSI表,2张表的唯一区别是JOIT_CSI有非聚集列存储索引, 在统计列SERNUM个数的查询中,可以发现JOIT需要7210ms,而JOIT_CSI只有463ms,性能提升约15倍。感兴趣的,可以去发掘其他性能提升的最佳实践。

SQL Server 2016 列存储索引功能增强「建议收藏」

SQL Server 2016 列存储索引功能增强「建议收藏」

SQL Server 2016 列存储索引功能增强「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159107.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hive优化大全-一篇就够了[通俗易懂]

    hive优化大全-一篇就够了[通俗易懂]1.概述  在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题。下面开始本篇文章的优化介绍。2.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题?数据量大不是问题,数据倾斜是个问题。jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是mapreduce作业初始化的时间是…

    2022年4月20日
    36
  • 脏读、幻读与不可重复读[通俗易懂]

    脏读、幻读与不可重复读

    2022年2月17日
    48
  • vue文件上传功能_vue如何自定义组件

    vue文件上传功能_vue如何自定义组件vue的文件上传组件upload,拥有支持多种格式文件上传,单文件多文件等都支持,许多项目现在都少不了文件上传功能,但是vue的upload组件如果直接引用,肯定也有一些不方便之处,有的时候需要传参数,需要手动触发上传方法,而不是选择了文件就上传,所以结合我项目实例,写一vue自定义文件上传的实现,包括前端和后台的处理以及参数的接收。一、先认识一下vue的upload组件,官网链接ht…

    2022年8月15日
    4
  • JAVA编程之第一个程序HelloWorld「建议收藏」

    JAVA编程之第一个程序HelloWorld「建议收藏」提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档JAVA第一个程序HelloWorld工程创建一、创建项目1.新建工程:File->New->JavaProject2.创建程序包:src->new->package2.创建类:package->new->class二、编写第一个程序HelloWorld1.HelloWorld三、遇到问题1.ModuleJava_Learningnotfound1.1错误信息1.2错误原因1.3解决方法2.

    2022年7月7日
    21
  • Android基础教程学习(一)

    Android基础教程学习(一)1.1安装工具想要进行Android开发,必须先安装java,IDE和AndroidSDK.1.1.1Java开发包首先,需要先安装Java开发包(JDK).所有Android开发工具都需要它,在编写程序时我用的Java语言.我安装的是JDK8.建议去Oracle官网下载:JavaArchive|Oracle然后去配置环境变量JAVA_HOME,使其指向JDK安装位置.(网上教程很多)安装完成之后可以打…

    2022年6月11日
    30
  • 一篇文章带你搞懂DEX文件的结构[通俗易懂]

    一篇文章带你搞懂DEX文件的结构[通俗易懂]*本篇文章已授权微信公众号guolin_blog(郭霖)独家发布本文地址:一篇文章带你搞懂DEX文件的结构DEX文件就是AndroidDalvik虚拟机运行的程序,关于DEX文件的结构的重要性我就不多说了。下面,开练!建议:不要只看,跟着我做。看再多遍不如自己亲自实践一遍来的可靠,别问我为什么知道。泪崩ing…..首先,我们需要自己构造一个dex文件,因为自己构造的比…

    2022年6月27日
    152

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号