首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >例如,nvarchar(max)的性能是否不如nvarchar(100)?

例如,nvarchar(max)的性能是否不如nvarchar(100)?
EN

Stack Overflow用户
提问于 2010-03-17 15:54:55
回答 4查看 3.2K关注 0票数 4

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-17 16:03:35

here (SO)here (MSDN)回答了同样的问题

引用David Kreps的回答:

当您将数据存储到VARCHAR(N)列时,这些值的物理存储方式是相同的。但是当您将其存储到VARCHAR(MAX)列时,在屏幕后面,数据被作为文本值处理。因此,在处理VARCHAR(MAX)值时,需要进行一些额外的处理。(仅当大小超过8000时)

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

票数 5
EN

Stack Overflow用户

发布于 2010-03-17 16:05:35

请注意,除了Alex's answer之外,您还不能对nvarchar(max)列进行索引,因此在这种情况下,它可能是性能方面的限制。

票数 4
EN

Stack Overflow用户

发布于 2010-03-17 16:13:59

一般规则是使用最适合存储在其中的数据的数据类型。如果您正在谈论varchar(100),那么听起来您不太可能需要存储varchar(max)能够处理的最大数据量,并且应该坚持使用varchar(100)。

要问自己的问题是,您存储的是什么数据,您存储和检索这些数据的频率是多少。你是如何使用它的,查找,搜索还是只存储?

至于区别,varchar(max)并不等同于TEXT。varchar( max )中的主要增强是,数据仍然存储在行中,除非它超过8k的最大长度,此时它被存储在blob中。

请看这个问题,它更具体地说明了varchar(max)和text之间的区别。

Using varchar(MAX) vs TEXT on SQL Server

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

https://stackoverflow.com/questions/2460598

复制
相关文章

相似问题

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