位置: 编程技术 - 正文

揭秘SQL Server 2014有哪些新特性(3)-可更新列存储聚集索引(揭秘蟹卡骗局)

编辑:rootadmin

推荐整理分享揭秘SQL Server 2014有哪些新特性(3)-可更新列存储聚集索引(揭秘蟹卡骗局),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:揭秘海鲜加工厂狠活,揭秘镀晶到底好在哪里,揭秘小区神秘敲墙声,揭秘成都大运会开幕式亮点,揭秘低价老年旅游团套路,揭秘镀晶到底好在哪里,揭秘镀晶到底好在哪里,揭秘海鲜加工厂狠活,内容如对您有帮助,希望把文章链接给更多的朋友!

简介

列存储索引其实在在SQL Server 中就已经存在,但SQL Server 中只允许建立非聚集列索引,这意味着列索引是在原有的行存储索引之上的引用了底层的数据,因此会消耗更多的存储空间,但中的限制最大的还是一旦将非聚集列存储索引建立在某个表上时,该表将变为只读,这使得即使在数据仓库中使用列索引,每次更新数据都变成非常痛苦的事。SQL Server 中的可更新聚集列索引则解决了该问题。

可更新聚集列存储索引?

聚集列存储索引的概念可以类比于传统的行存储,聚集索引既是数据本身,列存储的概念也是同样。将数据按照列存储而不是行存储则提供了诸多好处,

首先对于大量聚合、扫描、分组等数据仓库类查询仅仅需要读取选择的列,对于需要Join多个表的星型结构等场景性能提升尤其明显 其次是列索引可以更新,并且每个表中只需要一个(这是优点也是缺点,因为无法再建非聚集索引)聚集列索引即可,大大节省了空间 列索引由于是按列存储,同一列中数据类型是一样的,因此可以更加容易的实现更高的压缩比率 列存储的表会占用更少的存储空间,因此存在更少的IO

那么列存储索引有什么弊端呢?

行存储对于OLTP操作十分适合,因为每个聚集索引键可以标识某一行,该行存储在物理磁盘上也连续,因此可以利用Seek操作完成大量选择性非常高的查询,而列存储索引同一行的每一列并不在物理上联系,并且列存储聚集索引中并没有“主键”的概念,因此并不存在SEEK操作,如果大量OLTP类的查询,性能将会出现问题。

列存储索引只支持Scan操作,如图1所示。

图1.列存储索引只支持Scan操作

那么列索引是如何存储呢?

列索引存储可以望文生义,就是按列存储。这个过程可以分为3个阶段,首先将一堆行分组,这就是所谓的“行组”,分组完成后,再按列切分,最后将列压缩,如图2所示。

图2.列存储的过程

我们注意到其中有一部分不够分组的,那么就直接让这部分数据以传统行存储的形式老实呆着吧,这就是所谓的Deltastore,等数据增长到可以分组时再进行分组,目前SQL Server 认为W以下的数据都不够分组。

上述列存储的两部分我们可以通过新引入的DMV进行观测,如图3所示。在图3中,我们队目前已经存在行的聚集列索引插入了行新的数据,则SQL Server认为这部分数据不满W行,因此以Deltastore的方式存在。

图3.压缩后的列和Deltastore

揭秘SQL Server 2014有哪些新特性(3)-可更新列存储聚集索引(揭秘蟹卡骗局)

当我们再插入数据时,可以观察到DeltaStore中的数据又增加了,达到,但依然存在DeltaStore中。如图4所示。

图4.再次插入的数据依然在DeltaStore中

那么我插入大量的行进行观测,会发现,大批量的数据依然以DeltaStore的方式存储,如图5。

图5.插入大量数据后也无法将数据压缩

那么究竟何时会压缩这些数据呢,根据BOL的说法: 可更新列存储聚集索引的压缩比率是最高的,因为同一列往往是同一类数据,因此这类数据有更好的压缩比。现在我纯粹的从传统聚集索引、页压缩、行压缩、列存储索引所占用的空间进行比较,当然,如果我们把传统表的非聚集索引算上,那么行存储表将会需要更多的空间。我们用3W多条数据进行简单比对,如图7所示。

图7.不同存储占用空间

图7的示例数据很少,但依然可以看到,列存储比即使没有非聚集索引的行存储,占用空间也几乎少了2/3,提升不可谓不巨大。

性能简单比较

首先,先按照列存储,我们选择所有的列,对于行存储来说需要选择整个表才能把一列数据全部读取出来,但列存储则只需要读取被选择的列,因此如果只选择特定的列的话,列存储性能提升巨大,如图8所示。

图8.可更新列存储聚集索引性能提升巨大

但反之,我们尝试一个典型的OLTP操作,只选择一行的所有列,则会和图8的结果大相庭径了。如图9所示。

图9.对于OLTP操作来说,列存储索引非常乏力

小结

本文阐述了SQL Server 中可更新列存储索引的原理,概念,适用场景、空间使用情况,并举出两个OLAP和OLTP极端的例子进行性能比对。列存储索引对于数据仓库和类OLAP查询来说是一个巨大的飞跃。

揭秘SQL Server 有哪些新特性(4)-原生备份加密 SQLServerCTP2之后公布了一项针对备份的特性,那就是原生备份加密。考虑到之前网络上影响很坏的数据库泄漏事件,本质上都是数据库备份泄漏给第三

解决SqlServer 各版本 sa帐户不能登录问题 1.使用ManagementStudioExpress,用Windows身份验证登录,选中SQL服务器名,右击鼠标选择属性,在服务器属性选项页面,选择安全性,将服务器身份验证由Window

浅析SQL Server中包含事务的存储过程 先来看一个概念:数据库事务(DatabaseTransaction),是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行。那么在存储过程

标签: 揭秘蟹卡骗局

本文链接地址:https://www.jiuchutong.com/biancheng/319011.html 转载请保留说明!

上一篇:揭秘SQL Server 2014有哪些新特性(2)-固态硬盘 Buffer Pool(缓冲池) 扩展(揭秘蒙娜丽莎25恐怖之处)

下一篇:揭秘SQL Server 2014有哪些新特性(4)-原生备份加密(揭秘如何投屏纽约时代广场)

  • 收到上年度所得税返还会计分录
  • 外购商品结转成本分录
  • 已发货没开票分录
  • 怎么收购股份公司
  • 会计一般什么时候考试
  • 红冲以前年度收入成本的账务处理
  • 代理费住宿费都包括什么
  • 公司购买的
  • 免税是不是不用交税
  • 现在什么情况下
  • 工资表多扣个税怎么做账
  • 向香港公司支付服务费税率
  • 资产负债表中存货项目金额怎么算
  • 跨期租金收入税怎么算
  • 清算期间研发费用是否可以加计扣除附会计处理
  • 计提个税会计分录怎么理解
  • 先预付一部分货款分录
  • 收储土地资金会计核算办法
  • 十万位发票怎么开
  • 税控盘开票显示操作未授权
  • 税务行业软件
  • 仅提供发票
  • 结转实物发放的成本分录
  • 公司商品质量问题导致员工与公司一起被起诉了怎么办
  • 通用日记账核算方法
  • 科研项目经费怎么填
  • 汇总转账凭证可以是一借多贷
  • 分次付息会计分录
  • 融资租入固定资产改建支出计入
  • 拦截恶意网址是什么意思
  • 吊销执照公司资产怎么办
  • 赔绿化损失费的法律依据
  • 小规模纳税人增值税专用发票税率
  • 要求快速启动
  • 会计月末做账
  • 企业所得税教育经费列支范围
  • 免施工许可证
  • 让渡资产使用权包含哪些内容
  • 异地开办分公司流程
  • 买过来的土地可以确权吗
  • 数据读取流程
  • PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
  • 命令启动服务管理
  • 股票分红个人所得税
  • 企业所得税太高怎么合理规避
  • 个人所得税怎么申报多
  • 本月发料凭证会计分录
  • 资产处置开票填什么项目
  • 体检费用需要缴哪些费用
  • 委托加工的材料成本是否含增值税
  • 增值税发票税率计算公式
  • 小规模免税如何开票
  • 刻章费用怎么说
  • 外债借款利率
  • 发票超过定额了怎么处理
  • 收回已转销的应收账款而恢复的坏账准备
  • 装修公司完工交付文案
  • win8系统怎么关闭自动更新系统
  • winxp如何访问win10
  • win8.1系统升级win10
  • winxp开机界面后老重启
  • 在操作系统中如何创建一个新的用户
  • centos7网卡
  • xp电脑关机后自动重启是什么原因
  • msxct.exe - msxct是什么进程 有什么用
  • 微软商店更新错误
  • win7如何彻底卸载软件
  • 电脑安装win8
  • ftp上传网站的步骤
  • Zxing在CameraManager.get().closeDriver()报错
  • ftp远程桌面
  • dos批处理实例800例
  • 巧用dos命令合并图层
  • nodejs来一打c++扩展
  • js new实现
  • jquery插件开发方法
  • 发票单位可以开一批吗?
  • 减免税备案登记表样本
  • 税务筹划前景
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设