例如,nvarchar(max)的性能是否比nvarchar(100)低?

Lie*_*oen 4 sql-server

例如,nvarchar(max)的性能是否比nvarchar(100)低?

Ale*_*ini 5

这里回答同样的问题(SO)这里(MSDN)

引用David Kreps的回答:

将数据存储到VARCHAR(N)列时,值以相同的方式物理存储.但是当您将其存储到VARCHAR(MAX)列时,屏幕后面的数据将作为TEXT值处理.因此在处理VARCHAR(MAX)值时需要一些额外的处理.(仅当尺寸超过8000时)

VARCHAR(MAX)或NVARCHAR(MAX)被视为"大值类型".大值类型通常存储在"行外".这意味着数据行将有一个指向存储"大值"的另一个位置的指针...


Dan*_*llo 5

请注意,除了亚历克斯的答案之外,您还无法对nvarchar(max)列进行索引,因此在这种情况下,它可能会成为性能方面的限制。