写点什么

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:172184
用户头像

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

关注

评论

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

性能提升 10 倍 +,成本节省 35%!威锐达用 TiDB 解锁风电运维新效能

TiDB 社区干货传送门

从零开始:平凯数据库敏捷模式(单节点)及 MySQL 安装部署全流程指南

TiDB 社区干货传送门

版本测评 7.x 实践 TEM 试用 MySQL 数据同步 TiDB 7.x

谙流 ASK 技术解析(三):冷热数据自治分层

AscentStream

消息队列

使用YashanDB提升数据安全性的实用方法

数据库砖家

数据仓库与YashanDB数据库的关联及实践

数据库砖家

深入分析京东工业商品列表API,用python代码实现

tbapi

京东工业平台接口 京东工业API 京东工业商品数据采集 京东工业商品列表接口

小型人力资源企业平凯数据库(TiDB 企业版)敏捷模式测评报告

TiDB 社区干货传送门

数据可视化与YashanDB数据库的结合应用

数据库砖家

项目进度管理系统 PJMan:以可视化驱动技术项目的透明化与高效协作

Tecjt_锦图科技

项目管理 项目管理工具 项目进度管理系统

数据连接:YashanDB数据库与外部系统集成

数据库砖家

共促数据中心高质量建设 智赢AI时代

极客天地

低代码 “我的已办” 避坑指南,看完直接用起来

引迈信息

开放签企业版电子签章系统正式开源!

开放签开源电子签章

电子合同 #开源 电子签章 电子签合同系统

react 实现插槽slot功能

互联网工科生

一文解码百度地图ETA

百度Geek说

百度地图

商超企业线上线下全渠道业务的平凯数据库敏捷模式使用体验

TiDB 社区干货传送门

社区活动 敏捷模式

袋鼠云跻身榜单2025中国Data+AI创新企业榜Top15,入选“2025中国隐形独角兽500强”榜单等多项荣誉

袋鼠云数栈

数据迁移至YashanDB数据库的实用步骤

数据库砖家

快手提出端到端生成式搜索框架OneSearch,让搜索“一步到位”!

快手技术

大模型 快手 生成式强化学习 onesearch

前端class类常用修饰符

秃头小帅oi

3分钟理清QPS、TPS、RT 以及它们之间的关系

伤感汤姆布利柏

使用JDBC driver查询INFORMATION_SCHEMA.COLUMNS的优化之路

TiDB 社区干货传送门

工具与生态

阿里巴巴商品列表API技术解析与应用指南

tbapi

阿里巴巴API 阿里巴巴商品数据采集 阿里巴巴商品列表接口 阿里巴巴商品数据分析

Account Kit(华为账号服务)再进化,开发者接入效率飙升!

HarmonyOS SDK

HarmonyOS SDK应用服务

使用YashanDB提升企业数据处理的敏捷性与准确性

数据库砖家

使用YashanDB提升企业数据处理效率的技巧

数据库砖家

数据库设计中的YashanDB数据库最佳实践

数据库砖家

浏览器下载,一定要开启这个隐藏功能!

Immerse

如何从零开发一款 OneAgent

乘云数字DataBuff

运维 AIAgent

跨境电商爆单秘诀:达人带货与内容种草的结合

Wolink

跨境贸易 出海企业 海外推广 沃链Wolink 达人营销

多模态和语音 AI 年度收官大会,把握 2026 技术风向标!

RTE开发者社区

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