写点什么

SQL Server 2016 —— 可更新的非聚集列存储索引

  • 2015-06-14
  • 本文字数:1051 字

    阅读完需:约 3 分钟

非聚集列存储索引(NCC Index)在 SQL Server 2016 中也得到了一定程度的功能增强,其中最引人注目的一条在于可以对其进行更新了。

非聚集列存储索引功能最早出现在 SQL Server 2012 中,它的设计目的是为普通的堆或 B 树表提供一种只读的快照。它的设想是对其进行定期的删除与重建,可以以每个晚间或每一周作为维护周期。作为一种替代方式,你也能够通过分区切换加载更多的数据。

在 SQL Server 2014 中出现了聚集列存储索引(CC Index),这种列存储引擎的功能得到了升级,能够支持数据更改。但这种功能并未在 NCC 索引中得到延续,后者的能力依然仅限于快照模式而已。

在 2016 版本中,这一条限制终于被完全取消了。实际上,NCC 索引在默认情况下就是可更新的。如果你仍然希望使用原始的快照方式,那么必须将该索引保存在一个只读的文件组中。

筛选索引

如果你确信只需要一个经过良好定义的数据子集,那么筛选索引能够极大地减少所需的磁盘空间。并且在许多情况下,筛选也能够加速性能。

在 SQL Server 2016 中 NCC 索引的另一个新特性是能够对索引定义应用筛选条件,这一点只能够用于非聚集列存储索引,而聚集列存储索引与内存优化表仍然需要包括完整的索引定义。

批量模式增强

批量模式处理是一个非常神秘的主题,只有当你理解 SQL Server 解释器的工作原理时才能够充分利用它。如果你对这一主题还不熟悉,请阅读 Chris Adkin 的系列文章“了解 SQL Server 批量模式的底层知识”。简单来说,批量模式比起一次处理一条记录的速度至少快两倍,但并不是在所有情况下都能够使用这一模式的。

如果你正在运行 13.0 兼容模式(即 SQL Server 2016),那么以下这些操作就可以选择使用批量模式。

  • 排序
  • 对多个不同函数进行聚合:例如 COUNT/COUNT、AVG/SUM、CHECKSUM_AGG、STDEV/STDEVP
  • 开窗聚合函数:COUNT、COUNT_BIG、SUM、AVG、MIN、MAX,以及 CLR
  • 开窗用户自定义聚合:CHECKSUM_AGG、STDEV、STDEVP、VAR、VARP,以及 GROUPING
  • 开窗聚合分析函数:LAG< LEAD、FIRST_VALUE、LAST_VALUE、PERCENTILE_CONT、PERCENTILE_DISC、CUME_DIST、以及 PERCENT_RANK

在 SQL Server 1014 中,批量模式只限于并行查询使用,而现在它也可以用于单线程的工作了。

查看英文原文: SQL Server 2016: Updatable, Non-Clustered Columnstore Indexes


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-06-14 05:172052
用户头像

发布了 428 篇内容, 共 193.5 次阅读, 收获喜欢 39 次。

关注

评论

发布
暂无评论
发现更多内容

合约广告平台架构演进实践

百度Geek说

业务架构 企业号十月 PK 榜 广告B端系统

JS知识点梳理之作用域、作用域链、柯里化、闭包

hellocoder2029

JavaScript

Pipy:保护 Kubernetes 上的应用程序免受 SQL 注入和 XSS 攻击

Flomesh

程序员 微服务 服务网格 Pipy

说说Nodejs高并发的原理

coder2028

node.js

李珣同款爱心特效代码,加DIY教程,快拿去送给你喜欢的那个ta吧。

bug菌

跳动的爱心 代码爱心 爱心代码

Webpack配置实战

Geek_02d948

webpack

2022VDC云与基础架构专场:筑牢云原生与基础架构发展基石 多维助力效能提升

极客天地

高频数采、实时流计算:EMQ储能可预测维护系统方案|智慧工厂系列专题06

EMQ映云科技

物联网 IoT emqx 11月月更 云边协同

HDC2022 HarmonyOS学生公开课第二届成功举办,年轻创新力量生生不息!

科技汇

webpack实战,手写loader和plugin

Geek_02d948

webpack

高并发系统谨防被一行日志击垮

小小怪下士

Java 程序员 高并发

BSC/BNB链质押挖矿dapp系统开发(案例演示)

开发微hkkf5566

Node.js实现大文件断点续传

coder2028

node.js

谈谈 Angular 应用 Feature Module 的延迟加载话题

汪子熙

typescript angular web开发 SAP 11月月更

web3.0多链挖矿dapp系统开发技术详情

开发微hkkf5566

2022VDC游戏生态专场:打造更健康长久的游戏生态

极客天地

解密负载均衡技术和负载均衡算法

京东科技开发者

负载均衡 算法 负载均衡算法 注册表 负载均衡技术

一个 MySQL 隐式转换的坑,差点把服务器整崩溃了

Java全栈架构师

Java MySQL 数据库 程序员 后端

【电商实战01】如何快速编写api层和model层?

王中阳Go

golang 高效工作 学习方法 11月月更 电商实战

基线提升至96.45%:2022 司法杯犯罪事实实体识别+数据蒸馏+主动学习

汀丶人工智能

知识蒸馏 命名实体识别 11月月更

BI分析助力企业数字营销与运营,瓴羊Quick BI让企业决策更精准

巷子

web3.0区块链挖矿游戏dapp系统开发合约定制(成熟技术)

开发微hkkf5566

java培训学习机构怎么选择

小谷哥

JS词法环境和执行上下文

hellocoder2029

JavaScript

当大火的文图生成模型遇见知识图谱,AI画像趋近于真实世界

阿里云大数据AI技术

深度学习 PyTorch 知识图谱 企业号十月 PK 榜 图文生成

推动中小企业数字化转型,终于“有据可依”了

雨果

低代码 数字化转型

Java Web(二)MyBatis

浅辄

Java web mybaits 11月月更

说说Nodejs高并发的原理

coder2028

node.js

自学前端没有找到工作,怎么做呢

小谷哥

Webpack构建速度优化

Geek_02d948

webpack

Koordinator 1.0 正式发布:业界首个生产可用、面向规模场景的开源混部系统

云布道师

云原生 云栖大会

SQL Server 2016 —— 可更新的非聚集列存储索引_架构_Jonathan Allen_InfoQ精选文章