7月11日 SQL Server 2016:内存列存储索引
来源:互联网 发布:淘宝vx是什么意思 编辑:程序博客网 时间:2024/05/17 04:52
SQL Server 2016的一项新特性是可以在“内存优化表(Memory Optimized Table)”上添加“列存储索引(Columnstore Index)”。要理解这是什么意思,我们应该首先解释术语列存储索引和内存优化表。
列存储索引是一种按照列而不是行组织数据的索引。每个数据块只存储一个列的数据,最多包含100万行。因此,如果数据为5列1000万行,那么就需要存储在50个数据块中。当只查询部分列时,这种数据组织策略特别有效,因为数据库不会从磁盘读取用户不关心的列。
列存储索引比表扫描要快得多,但没有传统的B树索引那么快。这特别适合于那种无法预测需要什么索引的即时报表。
内存优化表正如它的名字, 它是一个经过优化并一直驻留在内存中的表。这有许多好处,比如锁无关写,但它也有很大的局限性。比如,只允许有8个索引,这对于用于即时查询的表而言限制太大。
SQL Server 2016部分地弥补了这种限制,它允许那8个索引中的其中一个为列存储索引。但要遵循如下规则:
- 像内存优化表上的其它索引一样,列存储索引必须在表创建时定义。
- 列存储索引必须包含基表中的所有列。(在普通表上的列存储索引不存在这种限制。)
- 列存储索引必须包含基表中的所有行。换言之,它不能是“筛选索引(filtered index)”。
一个与内存优化表相关的特性是创建本地编译查询。数据库使用C编译器将这些查询编译成了机器码,而不使用SQL Server解释器。使用列存储索引的查询可以使用这个选项,而不用总是通过解释器运行。
0 0
- 7月11日 SQL Server 2016:内存列存储索引
- SQL Server 2016:内存列存储索引
- SQL Server 2016 列存储索引功能增强
- SQL Server 2012新特性_列存储索引(1)
- SQL Server 2012新特性_列存储索引(2)
- SQL Server 2012新特性_列存储索引(3)
- SQL Server 2012新特性_列存储索引(3)
- SQL Server 2012新特性_列存储索引(3)
- SQL Server 2012新特性_列存储索引(1)
- SQL Server 2012新特性_列存储索引(2)
- SQL Server 2012新特性_列存储索引(3)
- 温习SQL Server 列存储索引 Column Store Index
- 【SQL码农】SQL Server 2012新特性_列存储索引(3)
- 7月02日SQL server条件以及高级查询
- 7月12日 SQL Server 等待类型
- SQL SERVER 带包含列的索引
- 【2011-3-7】SQL Server 2011 基于列的存储
- SQL SERVER中,生成若干年份,包含列名公历日期、星期、月干支、日干支的表
- 在用eclipse或者myeclipse时遇到端口被占用问题解决方法
- 【bzoj3576】 江南乐 sg函数+根号优化
- 关于设备文件
- 请求发送者与接收者解耦——命令模式(Command Pattern)
- 计算理论总结
- 7月11日 SQL Server 2016:内存列存储索引
- Implement Queue using Stacks(leetcode 232)
- Java Web应用乱码解决(Tomcat服务器)
- Mac下GOPATH 配置
- javaWeb项目出现java.lang.reflect.InvocationTargetException
- 南阳oj 题目204 Coin Test
- Unity3D Linear01Depth & LinearEyeDepth 函数深度解析
- (转)详解Dreamweaver13个技巧
- 1001. 害死人不偿命的(3n+1)猜想 (15)