我在看一张桌子 nvarchar(50) 内容只有2个字符或空。改变它重要吗?如果in子句中经常使用,那么最佳类型是什么?
nvarchar(50)
我会使用 nchar(2) 对于unicode或 char(2) 对于非unicode,如果大小始终为2或 null .
nchar(2)
char(2)
null
50 在较大尺寸上,这会产生更明显的差异。
50
参考:
那么为什么不使用 nvarchar(2) 确保只写2个字符?这是一个约束,用于确保数据符合预期。
nvarchar(2)
如果你知道这些值只会是 ASCII 然后使用 varchar 而不是 nvarchar .
ASCII
varchar
nvarchar
最后,长度约束不会对 IN 子句,假设所有值都不超过2的长度。
IN