写点什么

SQL Server 2011 中基于列的存储方式

  • 2011-03-14
  • 本文字数:827 字

    阅读完需:约 3 分钟

和大多数主流数据库一样,如果表拥有聚集索引,那么 SQL Server 就会以 B- 树的方式存储,否则就会使用的方式存储。这两种方法本质上都是基于行的,其中每页中行的条数会根据总体上行的大小不同而不同。从SQL Server 2011 开始,微软为我们提供了第三种选择。SQL Server 会提供一种“列存储索引”,从而以列而不是行的方式来存储数据。

当使用数据规模为1TB、记录条数为十四亿四千万的表时,微软声称基于列的查询在CPU 时间上会有16 倍的提升,而在使用时间上会有455 倍的提高。在真实情况下,这意味着本来要耗费501 秒的查询,现在只需要1.1 秒就可以完成了。这项测试是在拥有32 个逻辑处理器和256GB 内存的计算机上执行的。

微软把每个列都隔离在自身的一组页中,从而达到了这种惊人的改善。当执行查询的时候,只会从磁盘载入位于结果集中的列。而包含其它列的页会被忽略。

这种方法相当于为每种我们所能想象到的列组合创建替代索引。然而,这种方式不会消耗大量的磁盘空间,它实际上会比传统的表占用更小的空间。由于SQL Server 的压缩会发生在页级别上,并且和行相比,列中的数据更容易重复,所以使用列存储索引的表将会拥有更高的压缩等级。

但暂时我们还不能轻易决定使用列存储索引。首先也是最重要的,它们是不可更新的。一旦创建了列存储的索引,那么就不允许在表上执行插入、更新或者删除等操作了。微软期望更多商店每天对数据进行刷新,否则就需要把数据做只读处理。在刷新周期中,我们会删除索引,更新数据,然后再重新建立索引。由于这肯定是代价昂贵的操作,所以我们可以使用垂直分区来把操作限制到逻辑表的子集范围内。

使用列存储的索引也会导致性能的降低。如果你使用大多数列,那么重新组合行会耗费大量的资源。这意味着OLTP 样式的查询应该避免这种方式,而对于OLAP 形式的查询,这种方式会比较有利。或者换句话说,如果你在编写“SELECT *”或者每次抓取一行数据,那么列存储索引就不适合你。

查看英文原文: Column-based Storage in SQL Server 2011

2011-03-14 07:052759
用户头像

发布了 340 篇内容, 共 142.3 次阅读, 收获喜欢 13 次。

关注

评论

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

1688商品详情API返回值全面剖析:阿里巴巴中国站数据驱动的库存管理

技术冰糖葫芦

api 网关 API Explorer api 货币化 API 文档

​​给【AI硬件】创业者的论文、开源项目和产品整理

奇绩创坛

人工智能 创业 资料 大模型 AI硬件

像素流送技术,潜力巨大还是功能不足?

点量实时云渲染

ue 3D实时云渲染 像素流送 像素流 像素流送技术

易观联合航天信息发布《中国中小企业数字化发展白皮书2024》

易观分析

观测云 VS 开源自建

观测云

开源 可观测性

基于阿里云 OpenAPI 插件,让 Grafana 轻松实现云上数据可视化

阿里巴巴云原生

阿里云 云原生 Grafana

大模型应用开发实战营第 5 期 - 毕业总结

铁血杰克

【YashanDB知识库】YAS-00220, utf8 sequence is wrong

YashanDB

yashandb 崖山数据库

以太坊域名服务ENS好用的钱包推荐-bitget钱包

石头财经

2024-06-26:用go语言,给定一个长度为n的数组nums和一个正整数k, 找到数组中所有相差绝对值恰好为k的子数组, 并返回这些子数组中元素之和的最大值。 如果找不到这样的子数组,返回0。 输

福大大架构师每日一题

福大大架构师每日一题

【YashanDB知识库】YAS-00103 no free block in dictionary cache

YashanDB

yashandb 崖山数据库

【YashanDB知识库】YAC修改参数后关闭数据库夯住

YashanDB

BWB 是什么以及未来走势分析

加密眼界

低代码开发平台:人人都可以开发应用

不在线第一只蜗牛

低代码

AI降本新选择,火山引擎第三代云服务器全面升级!

新消费日报

新Bios更新 !保持出厂游戏性能!

E科讯

工业4.0时代,如何提升工业生产中的异常检测准确性和效益?

Altair RapidMiner

机器学习 数据分析 制造业 异常监控 数据检测

Blast L2空投教学,好用的Blast钱包推荐bitget

BlockChain先知

CVPR 2024 | 快手8篇论文入选计算机视觉顶会

快手技术

CVPR 快手 学术会议

SD-WAN在海外网络加速中的应用和优势

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

【论文速读】|MEDFUZZ:探索大语言模型在医学问题回答中的鲁棒性

云起无垠

SQL Server 2011中基于列的存储方式_.NET_Jonathan Allen_InfoQ精选文章