五、性能比较
对于行存储而言,OLAP类操作对某一列或多列做聚合运算,都需要将所有的列读出来,IO往往成为查询性能的瓶颈。但列存储则只需要读取被选择的列,列的高压缩比率又进一步降低了IO,从而提升了性能。
下面对于图9示例表中的数据进行一个简单的聚合OLAP查询,首先在行存储上进行查询,结果如图14所示。
下面,在列存储上进行同样的查询,结果如图15所示。
由图14和图15的对比可以看出,对于聚合等OLAP类操作,列存储在查询性能相比行存储上有了戏剧性的提升,而列存储极高的压缩比有反过来降低了IO从而更进一步提升了查询性能。
六、小结
本文阐述了SQL Server 2014中可更新列存储索引的原理、概念、适用场景、空间使用情况和性能比对。SQL Server 2014 列存储可以直接更新使得管理变得极为方便,对于数据仓库和类OLAP查询来说,性能得到了巨大的提升且空间占用极大减少,使得SQL Server作为决策和分析系统的基础架构,可以帮助决策和分析系统实现更多可能。
作者简介
宋沄剑,微软SQL Server最有价值专家,《SQL Server 2012管理高级教程》译者,SQL Server专家协会北京分会创始人之一,目前就职于北京格瑞趋势科技有限公司任数据库高级顾问,专注于帮助大型企业用户设计数据库方案和解决数据库问题。