【问题标题】:variable-width equivalents to fixed-width data types in SQL ServerSQL Server 中固定宽度数据类型的可变宽度等效项
【发布时间】:2012-10-16 23:03:57
【问题描述】:

我在 SQL Server 中读到过,无论列值是否为 NULL,固定宽度数据类型总是占用空间,而如果列值为 NULL,可变宽度数据类型则不会。是否有等效于 int、float、datetime 等的可变宽度?

【问题讨论】:

  • SQL Server 2008 中有一个 vardecimal - 但它再次被弃用,有利于行/页压缩

标签: sql-server null


【解决方案1】:

问:是否有不占用固定空间的变量类型?

答:当然。 nvarchar、ntext、image 和 Document XML 立即浮现在脑海中。

问:对于 int、number 或 datetime 等类型,除了固定宽度之外,还有什么?

答:没有:)

【讨论】:

    【解决方案2】:

    您是正确的,以“VAR”开头的数据类型在值为 NULL 时不会占用数据页上的空间。 VAR 版本可用的数据类型只有字符和二进制数据类型。所有其他的,如 INT 和 DATETIME 总是占用固定数量的空间,与它们的值无关。见Space used by nulls in database

    【讨论】:

    • 有一些例外,例如压缩、稀疏列和连续位列。
    猜你喜欢
    • 2015-06-22
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 2018-10-08
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    相关资源
    最近更新 更多