HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

发布
暂无评论
  • 32|存储引擎:数据清洗与存储

    这节课,我们一起写一个存储引擎,用它来处理数据的存储问题。

    2022-12-22

  • 学习 web 前端开发有哪些好的方法

    无论是学习什么技术,除了找到一个比较适合自己的学习方式外,更为重要的是要在不断学习过程中,找到适合自己的学习方法才能更快的提高学习效率,当然学习web前端开发技术也不例外,其实,对于零基础小伙伴学习前端开发技术知识,选择一家比较靠谱的前端培训

    2022-07-19

  • 高并发线下沙龙不容错过!

    本次 Qunar 高并发线下沙龙面向公司内外部所有同学,将与大家从下方五个主题进行面对面交流与切磋。本次分享不仅有技术干货,还有幸运奖品,精美茶歇。欢迎感兴趣的小伙伴报名,让我们对高并发主题来一次深入交流!

    2021-12-07

  • 【LeetCode】字母异位词分组 Java 题解

    给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

    2021-12-06

  • 模块九作业 - 设计电商秒杀系统

    【业务背景】 你作为一个电商创业公司的架构师,负责设计6.18大促秒杀系统的设计,你们的业务模式如下:

    2022-01-16

  • Go-Excelize API 源码阅读(十九)——SetHeaderFooter

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带

    2022-08-24

  • 14|跳数索引:后起新秀 ClickHouse

    这节课我会从写入、分片、索引、查询的实现这几个方面带你重新认识ClickHouse。

    2022-11-23

  • 盲盒开发盲盒小程序系统开发

    盲盒软件源码开发,盲盒app原生开发,盲盒系统开发,盲盒小程序开发,盲盒模式开发,盲盒平台搭建,盲盒功能详解,盲盒源码搭建,一番赏小程序,芒趣app小程序

    2021-11-17

  • 24 小时自助洗车让洗车更自由

    24小时自助洗车除了让洗车更自由之外,洗车费用也很划算,都是按时计费的。一般洗车一次车大概8-10元就够了,如果要洗的再久点,那就10-15元左右,是不是很划算呢?

    2022-06-30

  • Spark 3.0(二):DPP 特性该怎么用?

    今天这一讲,我通过一个电商场景下的例子带你学习分区剪裁、动态分区剪裁的概念、作用、用法和注意事项,让你一次就学会!

    2021-05-10

  • 【愚公系列】2022 年 06 月 二十三种设计模式 (二十二)- 模板方法模式 (Template Method Pattern)

    设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化

    2022-06-04

  • 百万级电商秒杀架构设计

    你作为一个电商创业公司的架构师,负责设计6.18大促秒杀系统的设计,你们的业务模式如下:

    2022-05-08

  • BridgePattern- 桥接模式

    桥接模式(Bridge Pattern):也称之为桥梁模式,接口(Interface)模式或者柄体(Handle and Body)模式,其核心思想是将抽象部分与它的实现部分分离,使抽象部分和实现部分两个维度都可以独立的变化。

    2022-05-31

  • 17|框架升级:如何小步安全地升级数据库框架?

    今天我们以Sharing项目为例,一起把项目中原先采用SQL拼写的方式替换为使用Room框架来统一管理缓存数据。

    2023-03-20

  • 盲盒开发盲盒 app 开发

    盲盒软件源码开发,盲盒app原生开发,盲盒系统开发,盲盒小程序开发,盲盒模式开发,盲盒平台搭建,盲盒功能详解,盲盒源码搭建,一番赏小程序,芒趣app小程序

    2021-11-17

  • SQL 窗口函数原理和使用

    讲师介绍: 王振兴,毕业于北京邮电大学,前阿里巴巴技术专家。多年的 BI 相关的平台开发经验。对数据库、SQL、大数据的离线开发有深入的研究和多年的实战经验。 问题背景: 在我们的应用系统里面,通常会遇到一些复杂的查询需求,例如按照工作年限给员工排名,要求年限一样的员工排名也一样。类似这样的查询,普通的 SQL 实现起来特别复杂,效率也比较低。为此,SQL ISO-2003提供的 SQL 窗口函数,可以用于解决功能复杂的 SQL 查询场景,提高我们的工作效率。 内容看点: 为什么要学习 SQL 窗口函数 SQL 窗口函数的原理和使用方法

    2022-02-15

  • 1. Hive 的基本概述与原理

    2023-09-08

  • 直击面试!阿里技术官手码 12W 字面试小册在 Github 上爆火

    临近金三银四,想必有不少老哥已经在为面试做准备了。大家想必也知道现在面试就是看项目经验+基本技术+个人潜力(也就是值不值得培养)。总之就是每一次面试都是对我们能力的检验(无论是软实力还是硬实力)。软实力其实就是简历包装,自我介绍,与面试官交谈技

    2023-03-22

  • 电商秒杀系统

    你作为一个电商创业公司的架构师,负责设计6.18大促秒杀系统的设计,你们的业务模式如下:

    2022-06-30

  • react 源码解析 16.concurrent 模式

    1.开篇介绍和面试题

    2021-12-24

发现更多内容

Knative 助力 XTransfer 加速应用云原生 Serverless 化

阿里巴巴云原生

阿里云 云原生 Knative

如何选择性价比高的国外云主机服务?

一只扑棱蛾子

云主机 国外云主机

Orangedx:引领新一轮 BTCFi 浪潮

股市老人

事业-最佳实践-编码-提升团队代码质量

南山

团队管理 代码质量 编码质量

轻松搞定企业管理:这10个免费模板值得收藏!

彭宏豪95

企业管理 在线白板 企业管理软件 办公软件 效率软件

AI大模型学习:理论基石、优化之道与应用革新

EquatorCoco

人工智能 AI 模型管理

怎么制作iOS证书

雪奈椰子

Docker搭建持续集成平台Jenkins最简教程

霍格沃兹测试开发学社

“产研六力”模型:引领企业创新发展的新路径

凌晞

研发管理 产品管理 #研发

ConcurrentHashMap是如何保证线程安全的

百度搜索:蓝易云

Java Linux hashmap ConcurrentHashMap 云服务器

JavaScript中exec()方法详解

百度搜索:蓝易云

JavaScript Linux 运维 hashmap 云服务器

从0到1:校园生活圈小程序开发笔记(一)

CC同学

苹果头显产品年内中国上市;「美版贴吧」Reddit 苦熬 19 年终上市丨 RTE 开发者日报 Vol.170

声网

关于 ASP.NET Core 内置的依赖注入

雄鹿 @

ASP.NET Core

新质生产力与零信任数据安全:携手共创未来

从云科技

数据安全 零信任 新质生产力

Solidity案例详解(七)供应链金融合约

BSN研习社

区块链 Solidity

数据分析:低代码平台助力大数据时代的飞跃发展

快乐非自愿限量之名

数据库 数据分析 低代码

Orangedx:引领新一轮 BTCFi 浪潮

股市老人

事业-最佳实践-编码-单一职责判断

南山

设计模式 设计原则 单一职责 类职责 方法职责

XPath定位如何在App自动化测试中大显神威

霍格沃兹测试开发学社

电源缓启动(软起动)原理

梦笔生花

芯片 电源 热插拔

Flink 中 Task(任务)的概念、定位及应用详解与易混淆点梳理

木南曌

flink 实时计算

论低代码开与AI时代的适配性

不在线第一只蜗牛

人工智能 AI 低代码

使用Docker搭建MySQL数据库服务

霍格沃兹测试开发学社

在 ASP.NET Core 中引入 Serilog 记录日志

雄鹿 @

ASP.NET Core

面对API的安全风险,WAAP全站防护的作用

德迅云安全杨德俊

node.js这些常用命令,你都会了吗?

霍格沃兹测试开发学社

适应多样化需求:WASM 插件在全链路灰度发布中的应用

阿里巴巴云原生

阿里云 微服务 云原生

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