【发布时间】:2023-03-30 07:03:02
【问题描述】:
我需要存储未知类型(但可以在存储前检查)(抽象类型)数据。我可以看到存储它的两种变体。
检查数据类型并移至特定类型的表。有许多类型特定的不利于抽象。
或将所有内容存储为变体。
会有很多数据,我担心将布尔类型的数据保存到sql_variant会导致过多的内存浪费。是这样吗?
这种情况还有其他解决办法吗?
【问题讨论】:
-
Bad habits to kick : choosing the wrong data type - 请参阅 Aaron 在
sql_variant上的观点 - 不建议在任何严重的系统中使用! -
@marc_s 那么每种类型有很多表吗?
-
取决于你拥有什么样的数据。这一切都将是
BIT和INT吗?还是所有二进制数据>= 64 KB?对于二进制、非结构化数据,您可能会调查VARBINARY()而不是sql_variant,对于文本数据可能会调查XML或VARCHAR(n)/VARCHAR(MAX)
标签: sql sql-server sql-server-2012