NVARCHAR(MAX) 替换 TEXT 数据类型?

Chr*_*ark 5 sql-server sql-server-2008

我从不同的论坛上读到过关于始终使用 nvarchar(MAX)和varchar(max) vs varchar(255)是否有任何缺点。现在,我想知道将数据类型转换为 是否是理想/安全的做法?有性能差异吗?或者我是否需要指定尺寸(如)而不是?textnvarchar(MAX)nvarchar(255)nvarchar(max)

Vla*_*nov 5

答案很简单:text类型已被弃用。所以,是的,您应该将text数据类型转换为varchar(MAX).

https://msdn.microsoft.com/en-AU/library/ms187993.aspx

ntext、text 和 image 数据类型将在 Microsoft SQL Server 的未来版本中删除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。

最重要的是,如果您知道您的大小text小于 8000,则使用varchar(nnn)代替varchar(max)varchar(nnn)比 更有效varchar(max)

注意:texttype 适用于非 unicode 文本,因此请varchar改用。ntext用于 unicode 文本,因此请nvarchar改用。