首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >varchar(500)比varchar(8000)有优势吗?

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

Stack Overflow用户
提问于 2010-01-06 06:41:50
回答 2查看 41.8K关注 0票数 93

我已经在MSDN论坛和这里读到了这一点,但我仍然不清楚。我认为这是正确的: Varchar(max)将被存储为文本数据类型,所以这有缺点。因此,假设您的字段将可靠地少于8000个字符。就像我的数据库表中的BusinessName字段。在现实中,企业名称可能总是少于500个字符(从我的帽子里抽出一个数字)。看起来我遇到的很多varchar字段都在8k字符数以下。

那么我应该将该字段设置为varchar(500)而不是varchar(8000)吗?据我对SQL的理解,这两种语言没有区别。因此,为了方便起见,我希望将所有varchar字段定义为varchar(8000)。这有什么缺点吗?

相关:Size of varchar columns (我觉得这个没有回答我的问题)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-06 06:53:41

从处理的角度来看,使用varchar(8000)和varchar(500)没有区别。定义一个字段应该包含的最大长度,并使varchar达到这个长度,这更像是一种“良好的实践”。它可以用来辅助数据验证。例如,将州缩写设置为2个字符,或将邮政编码设置为5或9个字符。当你的数据与其他系统或用户界面进行交互时,这是一个更重要的区别,在这些系统或用户界面中,字段长度非常关键(例如,大型机平面文件数据集),但现在我认为这更像是一种习惯。

票数 24
EN

Stack Overflow用户

发布于 2010-01-06 06:53:02

理想情况下,您可能想要更小的长度(500不是合理的大小),并确保客户端验证在数据太大时捕获并发送有用的错误。

虽然varchar实际上不会在数据库中为未使用的空间保留空间,但我记得SQL Server的不同版本对数据库行宽于某一字节数(不记得确切的计数)有一种不满,实际上会丢弃任何不适合的数据。其中一定数量的字节是为SQL Server内部的内容保留的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2009694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档