使用VARCHAR(max),NVARCHAR(max)和VARBINARY(max)而不是TEXT,NTEXT和IMAGE有什么好处?

时间:2012-10-02 07:35:57

标签: sql sql-server database deprecated sql-server-2012

我知道TEXT,NTEXT和IMAGE已弃用,最终将从SQL Server中删除。

但是,除了这个弃用之外,为什么VARCHAR(max),NVARCHAR(max)和VARBINARY(max)数据类型更好?为什么微软会选择它们?

我注意到VARCHAR和NVARCHAR可以和=和GROUP BY一起使用,而旧类型则不能。还有更多好处吗?

2 个答案:

答案 0 :(得分:6)

不推荐使用数据类型,因为随着SQL Server的发展,不再需要将大块文本(TEXT)或二进制数据(IMAGE)与VARCHAR或BINARY区别对待。由于存储不再是一个问题,我们现在可以对您的内容进行SUBSTRING(<varchar(max)>,1234567,400),而在过去,1 MB似乎很多,需要特殊处理,例如功能在此article

IMAGE对TEXT提供类似的行李,这需要以特殊的方式存储大小,而不是扩展VARBINARY以满足任何方式一直到2GB。

但是,在内存/存储限制下,具有专用BLOB和CLOB的原因相同仍然有效,因此SQL Server CE继续具有IMAGE类型,并且它不会很快就会消失。

答案 1 :(得分:1)

因为它们已被弃用或not going to be supported

  

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

相关问题