我有一个表,其中包含许多精度为15位的float数据类型的列。每列消耗8字节的存储空间。大多数情况下,数据不需要这样的精度,并且可以存储为real数据类型。在许多情况下,该值可以是0,在这种情况下,我可以不存储单个字节。
我在这里的目标是优化空间存储需求,这是我在处理SQL Express 4 4GB数据库大小限制时面临的问题。
如果byte、real和float数据类型存储在sql_variant列中,那么存储这些值显然会产生一些开销。这项开销的成本是多少?
然后,我需要评估切换到使用sql_variant列数据类型后是否真的会节省大量的空间。
谢谢,Elan
发布于 2010-06-23 02:23:39
我发现下面的文章非常有用,就sql_variant而言,它有助于揭示存储成本:
发布于 2010-06-06 13:47:34
使用sql_variant不会节省空间,而只是引入了整个级别的复杂性
每列都应具有正确的数据类型,以存储此字段中所有可能的值。你需要全盘浮动吗?你能用tinyint吗?等等等等
如果你担心4 4GB的限制,那么升级到新的Express版本(10 4GB)或升级一个版本。
https://stackoverflow.com/questions/2969001
复制相似问题