代码之家  ›  专栏  ›  技术社区  ›  Elan

SQL Server中sql_variant列的开销(以字节为单位)是多少?

  •  0
  • Elan  · 技术社区  · 16 年前

    我有一个表,它包含许多15位精度的浮点数据类型的列。每列占用8个字节的存储空间。大多数情况下,数据不需要这么高的精度,可以存储为实际的数据类型。在许多情况下,值可以是0,在这种情况下,我可以通过存储一个字节来摆脱它。

    我的目标是优化空间存储需求,这是我在使用SQL Express 4GB数据库大小限制时面临的一个问题。

    如果byte、real和float数据类型存储在sql_variant列中,那么存储这些值显然会产生一些开销。这项管理费用是多少?

    然后,我需要评估我是否最终会节省大量的空间(或不节省空间),转而使用sql_variant列数据类型。

    谢谢,Elan

    2 回复  |  直到 14 年前
        1
  •  1
  •   gbn    16 年前

    使用sql_变量不会节省空间,只需引入一个完整的复杂性级别

    每列都应具有正确的数据类型,以便在此字段中存储所有可能的值。你需要漂浮在船上吗?你能用耳鸣吗?等

    如果您担心4GB的限制,请升级到新的Express版本(10GB)或升级版本。

        2
  •  1
  •   Elan    16 年前

    我发现下面这篇文章对于阐明SQL_变体的存储成本非常有用:

    http://msdn.microsoft.com/en-us/library/ms178085.aspx

    推荐文章
    Alan  ·  Python while循环速度
    10 年前