AICon全球人工智能与机器学习技术大会周四开幕,点击查看完整日程>> 了解详情
写点什么

SQL Server 2016 —— 聚集列存储索引的功能增强

  • 2015 年 6 月 14 日
  • 本文字数:924 字

    阅读完需:约 3 分钟

聚集列存储索引(CC Index)是 SQL Server 2014 中两大最引人瞩目的特性之一,设计为用于超过 1 千万条记录的数据表。使用者无需明确的指定索引,也能够保证分析式查询的优良性能。

但 2014 版本中的这一特性存在着一个缺陷,即使用者无法指定索引。虽然 CC 索引比起传统表的表扫描要快得多,但它还是及不上经手动调整的覆盖索引。因此,为了同时支持这两种模式,开发者不得不创建两张表:一张具有 B 树索引结构的普通表,以及一个使用了聚集列存储索引的表。显然,保持这两张表的同步是一个很大的挑战。

在 SQL Server 2016 中,这个问题将不复存在。在兼容级别130(即SQL Server 2016)中的聚集列存储索引可包含B 树风格的二级索引,与传统的数据表一样。这种索引支持任何数量的列,并且可以进行筛选。

聚集列存储索引的另一个问题在于缺乏对于主键和外键的支持。由于数据库无法强制某个CC 索引的引用完整性,只能由中间层的开发者保证不会出现数据损坏的情况。如今因为能够在CC 索引中加入B 树索引,使用者就能够“使用一个B 树索引创建主键与外键,从而实现这些限制条件的强制实施”。

警告:“一旦为聚集列存储索引定义了B 树索引,就不能够使用MERGE 了。”

隔离级别

从SQL Server 2016 开始,CC 索引支持快照与读提交快照两种隔离级别了,因而无需再使用读- 写锁,也使得频繁写入数据的表的性能表现更为出色。

索引碎片整理

在SQL Server 2014 中的CC 索引被设计为主要用于添加数据风格的操作。虽然也能够对记录进行修改和删除操作,但这会产生索引碎片,只有通过重建整个CC 索引才能够消除这些碎片。而在2016 中,可以通过重新组织索引操作减少碎片。索引的重新组织是一种在线操作,这表示它无需长时间占有锁,因此妨碍对表的查询操作。

批量模式的增强

由于CC 索引与非聚集列存储索引使用了相同的存储引擎,因此它的批量模式也同样得到增强。

查看英文原文: SQL Server 2016: Clustered Columnstore Index Enhancements


感谢张龙对本文的审校。

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

2015 年 6 月 14 日 05:101630
用户头像

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

关注

评论

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

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之数据库逆向(十二)

crudapi

Vue crud crudapi quasar 数据库逆向

推动数据中心行业的“水电煤”,可视化如何用数据改变传统产业?

一只数据鲸鱼

机房 数据可视化 数字孪生 智能IDC

Python代码阅读(第4篇):过滤掉列表中的唯一值

Felix

Python 编程 Code Programing 阅读代码

iOS开发-为 iOS 编写 Kotlin Parcelize 编译器插件

iOSer

ios 编译器 编译器原理 iOS 知识体系 Kotlin Parcelize

CC挖矿系统源码开发

获客I3O6O643Z97

挖矿 挖矿矿池系统开发案例 fil矿机

论 Erda 的安全之道

尔达Erda

云原生 安全 企业数字化转型 云平台 开发平台

TrafficStatsRunnable 实用封装

Changing Lin

8月日更

阿里云-云开发平台入门篇——静态网站的全生命周期实战

若尘

阿里云 8月日更

Mysql读写锁保姆级图文教程

华为云开发者社区

MySQL 数据 读写锁 读锁 MyLSAM

专业好用的数据恢复软件推荐

淋雨

EasyRecovery 文件恢复 硬盘数据恢复

赛迪发布《2020-2021年中国IT服务市场研究年度报告》,联想位居第一梯队

科技大数据

科技互联网

单点登录(Single Sign On)解决方案

Java技术那些事

Java 程序员 计算机 单点登录 8月日更

服务器的升级,不可避免的安全问题

九河云安全

只需6步,教你从零开发一个签到小程序

华为云开发者社区

小程序 App 移动 智慧校园 FunctionGraph

2021第二届云原生编程挑战赛正式启动,抢先报名!

阿里巴巴云原生

阿里云 Serverless RocketMQ 云原生 dubbo

还不懂「JVM-类加载」么?面试官又在问了!

普普通通程序员

Serverless 全能选手,再添一“金”

Serverless Devs

Serverless 互联网 云原生

Pangaea AI 智能机器人炒币系统开发

获客I3O6O643Z97

量化策略 量化跟单 量化机器人

快来看,大数据两地三中心的容灾也可以如此省心!

华为云开发者社区

大数据 数据湖 容灾 华为云MRS 两地三中心

2021全球开源技术峰会|IoT 时代的开源数据基础设施

EMQ映云科技

开源 IOT Platform IoT emq 开源技术

巨头纷纷布局分布式云,一场新的云战争即将打响

浪潮云

云计算

你的工作有弹性么?

escray

学习 极客时间 朱赟的技术管理课 8月日更

如何实时打通数据孤岛?Tapdata 创始人唐建法受邀于GOTC深度分享

tapdata

数据库 打通数据孤岛 数据同步 Real Time DaaS GOTC

基于香港服务器的应用开发中测试数据管理的 3 个最佳实践

九河云安全

模块4作业

gevin

架构实战营

如何保存数据并更快地从勒索软件攻击中恢复

九河云安全

Swift 实现获取、展示 Mac 的 WiFi 密码

fuyoufang

ios swift SwiftUI Mac 软件 8月日更

带你读AI论文:SDMG-R结构化提取—无限版式小票场景应用

华为云开发者社区

语义 多模态 推理模型 SDMG-R 检测文本

这几个棘手的面试常见问题,如何高情商的回答?

架构精进之路

面试 情商 8月日更

限12小时删!白嫖对标阿里P5—P8的Java学习路线+大厂刷题秘籍

Java架构追梦

Java 阿里巴巴 架构 面试

Kubernetes配置热更新的两种方式

普普通通程序员

数据cool谈(第2期)寻找下一代企业级数据库

数据cool谈(第2期)寻找下一代企业级数据库

SQL Server 2016 —— 聚集列存储索引的功能增强-InfoQ