我有一个表,其中有一uniqueidentifier
列仅由某些行使用。
这样做是否是个好主意:
- 使该列可为空并使未使用行的唯一标识符为空?
- 或不使列可为空并为所有行填写 GUID 值?
SELECT
对 uniqueidentifier 列的查询会有任何性能差异吗?那么磁盘空间呢?空值是否占用相同数量的空间?
我有一个表,其中有一uniqueidentifier
列仅由某些行使用。
这样做是否是个好主意:
SELECT
对 uniqueidentifier 列的查询会有任何性能差异吗?那么磁盘空间呢?空值是否占用相同数量的空间?
如果您使用的是 SQL Server 2008+,您可能需要考虑使用稀疏列。它针对存储主要包含空值的列进行了优化。
如果要在 where 子句中使用可为空的列,还要检查 MSSQL 过滤索引。