nvarchar 列大小对性能的影响
可能的重复:
夸大数据库设计中的字段大小
我在其中之一中有一个“描述”列我的桌子到目前为止我还不知道最大尺寸。但我假设它不应超过 1000 个字符。
问题:如果我将其设置为 nvarchar(4000) [只是为了安全起见],它会对性能产生任何不利影响吗?
谢谢。
Possible Duplicate:
overstating field size in database design
I have a "description" column in one of my tables which as of now I dont know the maximum size of. But I am assuming it should not be greater than 1000 characters.
Question: If I make it nvarchar(4000) [just to be safe] will it have any adverse impact on performance ?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不会。
NVARCHAR(1000)
具有与NVARCHAR(4000)
完全相同的所有特征。作为一个可变长度的列,它只占用它需要的空间,如果它不适合页面等等,它可以被推出行外。与此相关的是,如果您使用
NVARCHAR(MAX)
,那么您可能会遇到一些性能下降的情况,但通常不明显,请参阅 varchar(max) 与 varchar(N) 的性能比较。此外,MAX 类型会阻止在线重建和索引操作。No.
NVARCHAR(1000)
has all the exact characteristics asNVARCHAR(4000)
. As a variable length column it takes only the space it needs, it can be pushed out-of-row if it does not fit in page and so on and so forth.On a related note, if you'd use
NVARCHAR(MAX)
then you could experience some degradation, usually not noticeable though, see Performance comparison of varchar(max) vs. varchar(N). Also a MAX type would prevent online rebuild and index operations.