当需要的长度<8000时,TEXT比varchar有什么优势?
SQL Server Text 类型与 varchar 数据类型:
根据经验,如果您需要文本值超过 200 字符并且不要在此列上使用联接,请使用 TEXT。
否则使用 VARCHAR。
假设我的数据现在有 4000 个字符,并且我不在此列上使用联接。由此可见,与使用 varchar(4000) 相比,使用 TEXT/varchar(max) 更有利。
为什么会这样呢? (在这种情况下,TEXT/varchar(max) 相对于普通 varchar 有什么优势?)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
TEXT 已弃用,请改用
nvarchar(max)
、varchar(max)
和varbinary(max)
:http://msdn.microsoft.com/en-us/library/ms187993.aspxTEXT is deprecated, use
nvarchar(max)
,varchar(max)
, andvarbinary(max)
instead: http://msdn.microsoft.com/en-us/library/ms187993.aspx我不同意 200 的事情,因为它没有得到解释,除非它与已弃用的 相关“行中文本”选项
I disagree with the 200 thing because it isn't explained, unless it relate to the deprecated "text in row" option
在旧版本的 SQL(2000 及更早版本?)中,最大行长度为 8 KB(或 8060 字节)。如果您对大量长文本列使用 varchar,它们将包含在此长度中,而任何文本列则不会,因此您可以在一行中保留更多文本。
此问题已在最新版本的 SQL 中得到解决。
此 MSDN 页面包含以下语句:
In old versions of SQL (2000 and earlier?) there was a max row length of 8 KB (or 8060 bytes). If you used varchar for lots of long text columns they would be included in this length, whereas any text columns would not, so you can keep more text in a row.
This issue has been worked around in more recent versions of SQL.
This MSDN page includes the statement: