varchar(500)比varchar(8000)更有优势吗?我已经在MSDN论坛和这里读到了这个,我还不清楚。我认为这是正确的:Varchar(max)将存储为文本数据类型,因此存在缺陷。因此,假设您的字段可靠地低于8000个字符。像我的数据库表中的BusinessName字段。实际上,商业名称可能总是在(从我的帽子里拿出一个数字)500个字符。看起来我运行的大量varchar字段远低于8k字符数。那么我应该将该字段设为varchar(500)而不是varchar(8000)吗?根据我对SQL的理解,这两者之间没有区别。因此,为了简化生活,我想将所有varchar字段定义为varchar(8000)。这有什么缺点吗?相关:varchar列的大小(我不觉得这个回答了我的问题)。
3 回答
青春有我
TA贡献1784条经验 获得超8个赞
从处理的角度来看,使用varchar(8000)和varchar(500)并没有什么区别。定义字段应该保持的最大长度并使varchar成为一个长度,这更像是一种“良好实践”。它可用于协助数据验证。例如,将州名缩写为2个字符或邮政/邮政编码为5或9个字符。当您的数据与字段长度至关重要的其他系统或用户界面(例如,大型机平面文件数据集)进行交互时,这曾经是一个更重要的区别,但现在我认为它比其他任何东西更习惯。
慕田峪9158850
TA贡献1794条经验 获得超7个赞
除了最佳实践(BBlake的答案)
使用DDL会收到有关最大行大小(8060)字节和索引宽度(900字节)的警告
如果超过这些限制,DML将会死亡
ANSI PADDING ON是默认值,因此您最终可能会存储一整行空白
添加回答
举报
0/150
提交
取消