数据库(最大)字段长度是否会影响性能?

dot*_*00b 6 sql t-sql database performance database-design

在我的公司,我们有一个包含各种表格的遗留数据库,因此有很多很多领域.

很多领域似乎都有很大的限制(例如:)NVARCHAR(MAX)从未达到过.

是否任意地使字段的最大宽度或比正常输入的字段大2到3倍会对性能产生负面影响?

如何平衡性能与场长?有余额吗?

Bre*_*zar 7

这个问题分为两个部分:

使用NVARCHAR over VARCHAR会损害性能吗?是的,在unicode字段中存储数据会使存储要求翻倍.存储在这些字段中的数据是其所需大小的2 倍(直到SQL Server 2008 R2出现,其中包括unicode压缩.您的表扫​​描将花费两倍的时间,只有一半的数据可以存储在缓冲区的内存中缓存.

使用MAX会损害性能吗?不是直接,但是当你使用VARCHAR(MAX),NVARCHAR(MAX)和那些类型的字段时,如果你需要索引表,你将无法在SQL Server 2005/2008 /中在线重建这些索引R2.(Denali在带有MAX字段的表周围带来了一些改进,因此可以在线重建一些索引.)