我知道 TEXT、NTEXT 和 IMAGE 已被弃用,最终将从 SQL Server 中删除。
但是,除了这种弃用之外,为什么 VARCHAR(max)、NVARCHAR(max) 和 VARBINARY(max) 数据类型更好?微软为什么选择它们?
我注意到 VARCHAR 和 NVARCHAR 可以与 = 和 GROUP BY 一起使用,而旧类型不能。还有更多好处吗?
我知道 TEXT、NTEXT 和 IMAGE 已被弃用,最终将从 SQL Server 中删除。
但是,除了这种弃用之外,为什么 VARCHAR(max)、NVARCHAR(max) 和 VARBINARY(max) 数据类型更好?微软为什么选择它们?
我注意到 VARCHAR 和 NVARCHAR 可以与 = 和 GROUP BY 一起使用,而旧类型不能。还有更多好处吗?
数据类型已被弃用,因为随着 SQL Server 的进步,不再需要处理与 VARCHAR 或 BINARY 不同的大块文本 (TEXT) 或二进制数据 (IMAGE)。由于存储不再是问题,我们现在可以随心所欲地执行 SUBSTRING( <varchar(max)>
, 1234567, 400) ,而在过去,1 MB 似乎很多并且需要特殊处理,例如本文中的函数。
IMAGE 携带与 TEXT 类似的包袱,这需要以特殊的方式存储大小,而不是扩展 VARBINARY 以适应任何一直到 2GB 的内容。
但是,具有专用 BLOB 和 CLOB 的相同原因在内存/存储限制下仍然有效,因此 SQL Server CE 继续具有 IMAGE 类型,并且在这方面不会很快消失。
因为它们已被弃用或 不会被支持
重要的 ntext 、 text 和 image 数据类型将在 Microsoft SQL Server 的未来版本中删除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。
相关问题