写点什么

SQL Server 2016:内存列存储索引

  • 2015-06-04
  • 本文字数:634 字

    阅读完需:约 2 分钟

SQL Server 2016 的一项新特性是可以在“内存优化表(Memory Optimized Table)”上添加“列存储索引(Columnstore Index)”。要理解这是什么意思,我们应该首先解释术语列存储索引和内存优化表。

列存储索引是一种按照列而不是行组织数据的索引。每个数据块只存储一个列的数据,最多包含100 万行。因此,如果数据为5 列1000 万行,那么就需要存储在50 个数据块中。当只查询部分列时,这种数据组织策略特别有效,因为数据库不会从磁盘读取用户不关心的列。

列存储索引比表扫描要快得多,但没有传统的B 树索引那么快。这特别适合于那种无法预测需要什么索引的即时报表。

内存优化表正如它的名字, 它是一个经过优化并一直驻留在内存中的表。这有许多好处,比如锁无关写,但它也有很大的局限性。比如,只允许有8 个索引,这对于用于即时查询的表而言限制太大。

SQL Server 2016 部分地弥补了这种限制,它允许那 8 个索引中的其中一个为列存储索引。但要遵循如下规则:

  • 像内存优化表上的其它索引一样,列存储索引必须在表创建时定义。
  • 列存储索引必须包含基表中的所有列。(在普通表上的列存储索引不存在这种限制。)
  • 列存储索引必须包含基表中的所有行。换言之,它不能是“筛选索引(filtered index)”。

一个与内存优化表相关的特性是创建本地编译查询。数据库使用C 编译器将这些查询编译成了机器码,而不使用SQL Server 解释器。使用列存储索引的查询可以使用这个选项,而不用总是通过解释器运行。

查看英文原文 SQL Server 2016: In-Memory Columnstore Indexes

2015-06-04 10:162496
用户头像

发布了 1008 篇内容, 共 397.5 次阅读, 收获喜欢 345 次。

关注

评论

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

《编程的原则》读书笔记(一):编程的前提和准则

Chares

软件工程 软件开发 程序开发 编程原理

Python爬虫eval混淆,爬虫进阶实战系列

梦想橡皮擦

Python 爬虫 8月月更

什么是 Office Open XML 文件格式

汪子熙

xml 微软 Office 8月月更 openOffice

模块九(电商秒杀系统)

Geek_701557

深入浅出边缘云 | 6. 监控与遥测

俞凡

架构 边缘计算 网络 深入浅出边缘云

一文带你搞懂OAuth2.0

闫同学

Go 后端 OAuth 2.0

毕业总结

Geek_701557

SpringBoot实战:国际化组件MessageSource的执行逻辑与源码

看山

源码 spring源码 MessageSource Spring原理 SpringBoot实战

2022-Java后端工程师面试指南-(SSM)

自然

spring cloud stream Java core 8月月更

2022-Java后端工程师面试指南-(计算机网络)

自然

网络 8月月更

数据治理(二):数据治理功能方面

Lansonli

大数据 数据治理 8月月更

开源一夏 | 对于jQuery选择器和动画效果停止动画的实战心得【前端jQuery框架】

恒山其若陋兮

开源 8月月更

【LeetCode】算术三元组的数目Java题解

Albert

LeetCode 8月月更

Spring Security OAuth实现GitHub快捷登录

阿提说说

Spring Security OAuth

Go-Excelize API源码阅读(三)——OpenReader()

Regan Yue

Go 开源 源码分析 8月日更 8月月更

即将开幕!阿里云飞天技术峰会邀您一同探秘云原生最佳实践

阿里巴巴云原生

阿里云 云原生 阿里云飞天技术峰会

Python 教程之输入输出(7)—— 如何在 Python 中不使用换行符进行打印?

海拥(haiyong.site)

Python 8月月更

OpenHarmony像素单位

坚果

开源 OpenHarmony 8月月更

leetcode 232. Implement Queue using Stacks 用栈实现队列(简单)

okokabcd

LeetCode 数据结构与算法 栈和队列

详解中断系统

timerring

8月月更

Java+EasyExcel实现文件导入导出

Bug终结者

Java 8月月更

全面了解Java中的15种锁概念及机制!

TimeFriends

8月月更

2022-Java后端工程师面试指南-(消息队列)

自然

Rocket Rabbit MQ 8月月更

MySQL 指令

武师叔

8月月更

聊聊电源自动切换电路(常用自动切换电路总结)

矜辰所致

电路设计 8月月更 电源自动切换

STM32+移远MC20模块采用MQTT协议登录OneNet上传GPS数据

DS小龙哥

8月月更

Spring(四、配置数据源)

开源 MySQ Druid 8月月更

关于架构的认知

yuexin_tech

架构

低成本、大容量、高交互…Polkadot 引领 GameFi 实现新突破

One Block Community

区块链

jvm(一 )内存区域的划分

想要飞的猪

JVM JVM运行时数据区

企业文化如何治好“企业内耗”?

涛哥 数字产品和业务架构

企业文化 企业架构

SQL Server 2016:内存列存储索引_架构_Jonathan Allen_InfoQ精选文章