为了账号安全,请及时绑定邮箱和手机立即绑定

varchar(500)比varchar(8000)更有优势吗?

varchar(500)比varchar(8000)更有优势吗?

慕码人8056858 2019-11-23 15:15:30
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个字符。当您的数据与字段长度至关重要的其他系统或用户界面(例如,大型机平面文件数据集)进行交互时,这曾经是一个更重要的区别,但现在我认为它比其他任何东西更习惯。

查看完整回答
反对 回复 2019-11-24
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

除了最佳实践(BBlake的答案)

  • 使用DDL会收到有关最大行大小(8060)字节和索引宽度(900字节)的警告

  • 如果超过这些限制,DML将会死亡

  • ANSI PADDING ON是默认值,因此您最终可能会存储一整行空白



查看完整回答
反对 回复 2019-11-24
  • 3 回答
  • 0 关注
  • 411 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信