写点什么

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

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

关注

评论

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

一文读懂Linux内核处理器架构中的栈

简说Linux内核

Linux内核 进程管理 嵌入式开发 设备驱动

Axure9基本交互操作(二)

乔乔

8月月更

图文并茂|Linux内核内存回收之LRU算法

简说Linux内核

内存管理 Linux内核 进程管理 嵌入式开发

谈谈程序员如何具备领导力

宇宙之一粟

领导力 8月月更

原型链中的函数和对象

掘金安东尼

JavaScript 前端 8月月更

JVM学习之 内存结构

JAVA活菩萨

Java java程序员 大厂技能 大厂实践 秋招

危险!请马上替换代码中的BeanUtils!!!

JAVA活菩萨

Java 后端 java程序员 大厂技能 大厂实践

头脑风暴:打家劫舍

HelloWorld杰少

8月月更

系统管理-Linux系统进程管理

Albert Edison

Linux centos 运维 服务器 8月月更

Java “constant string too long” 编译错误

HoneyMoose

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

自然

面试题 reis 8月月更

leetcode 769. Max Chunks To Make Sorted 最多能完成排序的块(中等)

okokabcd

数组 LeetCode 数据结构与算法

七日算法先导(五)——归并排序,希尔排序

工程师日月

8月月更

【字体反爬】的起点,月票数解析,一个小小的Python案例

梦想橡皮擦

Python 爬虫 8月月更

C++对象模型和this指针实例分析

CtrlX

c++ 面向对象 后端 代码 8月月更

朴素贝叶斯分类-西瓜分类 python

Five

贝叶斯公式 Python. 8月月更

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

自然

8月月更

我们来聊聊锁升级吧

JAVA活菩萨

Java 后端 java程序员 大厂技能 大厂实践

Nacos配置中心之动态感知

急需上岸的小谢

8月月更

12条MySQL优化技巧,提速不止十倍!

TimeFriends

8月月更

使用软引用实现缓存机制

JAVA活菩萨

Java 后端 java程序员 大厂技能 大厂实践

C++中const关键字的作用总结

桑榆

c++ 8月月更

编译调试插件功能总结

乌龟哥哥

8月月更

【高并发项目实战】工程模块化与活动会场静态化架构原理解析

小明Java问道之路

高可用 高并发 高性能 签约计划第三季 8月月更

Promise的点点滴滴

坚果

开源 8月月更

2021-Java后端工程师面试指南-(SpringBoot+SpringCloud)

自然

Spring Boot CLI spring cloud stream 8月月更

Linux内核LRU算法内存交换过程

简说Linux内核

内存管理 Linux内核 进程管理 嵌入式开发

Python 教程之输入输出(6)—— 使用 print() 函数输出

海拥(haiyong.site)

Python 8月月更

设计电商秒杀系统

爱晒太阳的大白

发布Android库至MavenCentral详解

JAVA活菩萨

Java 后端 java程序员 大厂技能 大厂实践

轻松完成接口测试及接口文档

Xd

Java 后端 接口测试

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