写点什么

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

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

关注

评论

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

森马基于MaxCompute+Hologres+DataWorks构建数据中台

阿里云大数据AI技术

数据挖掘 大数据 阿里云 实时数仓 hologres

【HDC.2024】华为云致力推进全域Serverless时代,引领技术创新,赋能行业实践

华为云PaaS服务小智

云计算 Serverless 华为云

Outlook 2021 LTSC for Mac v16.86.2中文正式版

你的猪会飞吗

mac软件下载 mac破解软件下载

和平台融合做套件,是SaaS厂商掘金的新趋势吗

ToB行业头条

Gin 教程:构建优雅的 Web 应用(一)

Felix

golang gin框架

AI系统:未来科技的驱动力

天津汇柏科技有限公司

人工智能 未来以来

科大讯飞:说说零拷贝技术和多路复用技术?

王磊

Java

Sermant自定义插件开发上手体验

华为云开源

开源 微服务 云原生 微服务治理

Dynamic Wallpaper for Mac 臻选高清4K动态壁纸 苹果电脑壁纸素材

Rose

基于STM32的智能粮仓系统设计

DS小龙哥

7月月更

测试开发比,能代表质效平衡吗?

老张

软件测试 研发效能 质量保障

Java Chassis 3技术解密,流式响应如何简化AI应用开发

华为云开发者联盟

Java 人工智能 华为云 华为云开发者联盟 企业号2024年7月PK榜

全面升级!GPT-4o 第一时间体验、疑问解答、福利揭秘

蓉蓉

openai GPT-4 gpt4o

IAM中的“跨生态纳管”

芯盾时代

身份安全 iam 生态链 统一身份管理平台

解决卡顿发热,超帧技术焕发中重载游戏动力

HarmonyOS SDK

HarmonyOS

探秘数据库中的并行计算技术应用

华为云开发者联盟

MySQL 数据库 华为云 华为云开发者联盟 企业号2024年7月PK榜

逆天排版神器:Affinity Publisher 2 for Mac/win版

你的猪会飞吗

Mac Dock mac破解软件下载

性能测试介绍

测试人

软件测试 性能测试

磁盘空间分析工具Disk Graph for Mac v3.0.4激活版

Rose

“粤”见昇腾 | 昇腾AI开发者创享日·广东站圆满举办

科技热闻

文献解读-长读长测序-第十三期|《PrecisionFDA真相挑战第二版:利用短读长和长读长在难比对区域进行变异检测》

INSVAST

基准测试 基因数据分析 生信服务

2024软博会

AIOTE智博会

青岛软博会

HDC Cloud 2024 | CodeArts加速软件智能化开发,携手HarmonyOS重塑企业应用创新体验

华为云PaaS服务小智

云计算 软件开发 华为云

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