前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >八、IO优化(3)稀疏列

八、IO优化(3)稀疏列

作者头像
py3study
发布2020-01-08 11:24:06
5640
发布2020-01-08 11:24:06
举报
文章被收录于专栏:python3python3

一、Nullable

  在设计表时,有时会允许某列可以使用Null值(默认)。

110227268.png
110227268.png

CREATE TABLE [dbo].[EmpTable2]( [EmpID] [varchar](10) NOT NULL, [DepID] [nvarchar](10) NULL, [Title] [nvarchar](10) NULL )

二、稀疏列

  稀疏列是对 Null 值采用优化的存储方式的普通列。

  稀疏列减少了 Null 值的空间需求,但代价是检索非 Null 值的开销增加。 当至少能够节省 20% 到 40% 的空间时,才应考虑使用稀疏列。

三、稀疏列的使用场景

1. 列集

  使用稀疏列的表可以指定一个列集以返回表中的所有稀疏列。列集是一种非类型化的 XML 表示形式,它将表的所有稀疏列组合成为一种结构化的输出。列集与计算列的相似之处在于,列集并不是物理地存储在表中。列集与计算列的不同之处在于,列集可直接更新。

  稀疏列和列集是通过使用 CREATE TABLE 或 ALTER TABLE 语句定义的。INSERT、UPDATE 和 DELETE 语句可以通过名称来引用稀疏列。详见 http://technet.microsoft.com/zh-cn/library/cc280604(v=sql.105).aspx

2. 筛选索引

  对于仅包含少量非 NULL 值的稀疏列,因为稀疏列有许多 Null 值行,所以尤其适用于筛选索引。稀疏列的筛选索引可以仅仅对已填充值的行编制索引。这会创建一个更小、更有效的索引。

本文结语:

  使用稀疏列,可以减小存储空间,或者创建更有效的筛选索引。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档