sql server 2012的列存储索引技术有效运用

sql server 2012的列存储索引技术有效运用

ID:22203087

大小:25.00 KB

页数:5页

时间:2018-10-27

sql server 2012的列存储索引技术有效运用_第1页
sql server 2012的列存储索引技术有效运用_第2页
sql server 2012的列存储索引技术有效运用_第3页
sql server 2012的列存储索引技术有效运用_第4页
sql server 2012的列存储索引技术有效运用_第5页
资源描述:

《sql server 2012的列存储索引技术有效运用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、SQLServer2012的列存储索引技术有效运用  若想为加强数据库查询的性能,可通过SQLServer2012在表中建立列式的索引,提高工作的效率。文章主要分析了列存储缩影存储的原理,探讨列存储索引应用局限和优势,以便相关用户能够在列式索引下挖掘各种交互式数据,进而获取既有数据商业价值。  【关键词】SQLServer2012列存储索引技术有效应用  1前言  SQLServer2012主要是应用列式的存储进行索引,这种方式可以提升数据库查询的效率。通过结合其他的新功能与全新索引,在特定应用的场景下,能够大幅度提高数据库查询的性能,尤其一些决策与支持类查询,能够提

2、高10倍及以上的效率。数据查询性能提升,主要是经过SQLServer的管理界面以及T-SQL的语句实现,所以能够和SQLServerReportingServices全部报表的解决方案兼容。  2分析行存储以及列存储优势与缺陷  列存储的索引可以存储与分组每一列数据,再和所有列进行联接,组成完整的索引,这种索引方式与传统索引不一样,传统的索引是存储与分组每行数据,再对所有行进行联接,组成索引。  2.1列存储和行存储  在SQLServer系?y中,Page属于数据存储基本的单位,数据行为实际数据存储的单位,在出现PageHeader以后,就开始存储于Page中,于P

3、age中根据行进行存储的记录方式即为行存储。如果数据是根据单列并不是多行来持续存储,那就是列存储。  2.2行存储缺陷  从图1中能够看出,在SQLServer处理查询数据时,会将全部的索引页都提取出来,这样就会提取到无用部分,话句话说,会对全部列记录进行读取,不需要的也被读取。如果读取了不需要数据,不仅会导致内存被大量浪费,而且会增加I/O,严重影响了系统整体的性能。  2.3列存储优势  从图一中不难看出,磁盘每一个Page只可以对单列数值进行存储,并不能存储整行数值。所以应用压缩算法,效率会比较高,主要因为压缩算法可以作用在同类型数据上。如:假设一张三列数据表,

4、从左至右分别是int与varchar、bool的类型,该表一共有一百条记录。对int类型第一列的数据而言,使用压缩的算法比较容易,并且压缩率也相对较高。简言之,无需对该表全部列进行访问,只需要访问需要子集,这样不仅能够降低磁盘I/0,而且可以提高缓存,提升磁盘存储的利用率。  3列存储局限和特征  3.1SQLServer的列存储技术特征  数据分裂的格式:对每个列数据实时存储与分组。通过SQLServer的查询与处理以后,能够应用新数据进行布局,同时对查询执行的时间进行改进。  提高查询结果的速率,列存储的所以容易因为下述因素更快生成相应的结果。仅需读取所需要列,所

5、以从磁盘读至内存,再从内存到处理器的缓存,这样可以减少数据量;列经过高度的压缩,在很大程度上减少了移动字节数与读取字节数;很多数据的查询不会涉及到表中全部列,所以大多数列并不会进入到内存中,将其和出色压缩的方法结合,能够对缓冲池的使用率进行改善,降低总的I/O;高级查询的执行技术可以简化处理列块,降低CPU的使用率。  3.2列存储的索引局限性  所含列数需要控制于1024以内;不能聚集,只可以将列存储聚集以后才可以使用;并不是唯一的索引;不可以建立索引视图或是视图;不涵盖稀疏列;不可以作为外键或是主键;不可以通过ALTERINDEX的语句进行更改。需要在删除以后重新

6、建立列存储的索引;不可以通过INCLUDE的关键字进行创建;不可以含有DESC或是ASC的关键字,按照压缩算法排序列存储的索引,不可以在索引中排序,可以根据搜索算法排序索引中数值;不可以使用或是保留传统索引方法所统计的信息;不能对里存储的索引表进行更新。  分析内存受限情况:目前,类存储的处理根据内存中的处理需要实施了相应的优化。应用SQLServer能够完善若干的机制,在很大程度上改善大多数的数据结构或是数据使用情况,尤其在内存不足的时候依然可以保证数据不会外溢。若内存限制比较严重,在处理的过程中,需要应用行内存进行处理。在部分实例中,会选取列存储的索引当做访问的方

7、法,然而内存不足时,无法生成相应数据的结构,就会先从操作列存储开始,再默认较慢代码的路径,在数据查询时,就会因为内存受到严重限制,进而降低了性能。  列存储的索引生成要求内存量一般如下:8MB×索引中列数×DOP/并行度,一般情况下,内存的要求会伴随字符串列比例的提高而不断地增加,所以需要减少DOP,以降低列存储的索引生成列所需内存。部分表达式计算比传统表达式的计算效率高:在应用列存储的索引时,应该应用批处理的模式对部分常见的表达式进行计算,并不是重复的根据某一特定模式计算。应用列存储的索引不仅可以带来计算效率快的优势,而且可以加速批处理与数据查询的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。