写点什么

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

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

关注

评论

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

选对工具,‌事半功倍!‌详解10款项目管理神器

爱吃小舅的鱼

项目管理 项目管理软件

超八成读者这样阅读,是因为……

脑极体

AI

大型数字化企业怎么定义?为什么说大型数字化企业更需要堡垒机?

行云管家

数字化 等保

软件测试学习笔记丨SQL子查询实战练习

测试人

软件测试

XSKY 亮相中国移动智算存储论坛,共话 AI 存储创新之路

XSKY星辰天合

免费做ppt的网站哪个好?这个AI制作PPT神器不容错过!

职场工具箱

效率工具 职场 PPT AIGC AI生成PPT

望繁信科技携手松下信息,共话制造业的数智应用之道

望繁信科技

数字化转型 流程挖掘 流程智能

深度挖掘市场趋势:利用京东商品列表数据接口进行高效数据分析的技术实践

tbapi

京东商品列表数据接口

京东商品列表数据接口:开启电商数据洞察之门

tbapi

京东API接口 京东商品列表数据接口

火山引擎联合Unity中国,共探游戏行业云计算+AI新场景

新消费日报

低代码开发与项目管理工作流优化

不在线第一只蜗牛

项目管理 低代码 定制化

程序员如何选择博客平台?

博客趣

个人博客 博客搭建 博客平台

如何根据API返回值优化商品搜索关键词

技术冰糖葫芦

API Explorer API 测试 API】 API 策略

Python中的random模块及相关模块详解

我再BUG界嘎嘎乱杀

Python 编程 后端 random 开发语言

使用Packer构建镜像

快乐非自愿限量之名

大数据 Linux 服务器

无需多部备用机,云手机方便又便宜!

Ogcloud

云手机 海外云手机 云手机海外版 云手机群控 云手机推荐

Java微信授权登录小程序接口

快乐非自愿限量之名

Java 小程序 微信

掌握VS Code:提升前端开发效率的秘诀

秃头小帅oi

云手机:TikTok运营的必备工具

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 tiktok运营

ETL数据集成丨为什么没有做好ETL的BI工具最终都会失败?

RestCloud

数据处理 BI ETL 数据集成

扫码填表时,如何快速填充上次提交的内容?

草料二维码

如何利用代理IP提升跨境市场竞争力?

IPIDEA全球HTTP

成为顶尖1%前端开发者的10项必备技能

伤感汤姆布利柏

数智未来:论低代码开发与人工智能技术的适配度

快乐非自愿限量之名

人工智能 低代码

图解Kafka:Kafka架构演化与升级!

王磊

JNPF:一文详解可视化低代码开发平台的研究与应用

EquatorCoco

低代码 可视化开发

观测云对接 Pinpoint 最佳实践

观测云

Pinpoint

电商搜索革命:大模型如何重塑购物体验?| AICon

京东零售技术

LLM 企业号2024年8月PK榜

为什么重写hashCode一定也要重写equals方法?

不在线第一只蜗牛

Java 基础

ClkLog常见问题-埋点集成篇Sec. 1

ClkLog

YashanDB谈数据库未来出路和方向——回归商业本质 | YashanDB DTCC 2024 首秀

Geek_2d6073

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