-1

我想知道 SQL Server 中存储字符串的不同数据类型之间的区别。

例如ntext, nvarchar(X),varcharnvarchar(max)

在灵活性、资源使用和性能方面有什么建议?

4

3 回答 3

0
  • 所有字符串类型N都是unicode - 每个字符 2 个字节,将存储西里尔字母、亚洲字母、阿拉伯语、希伯来字母等内容 - 而没有前导N的那些不是 unicode(仅正确存储西欧/ASCII 字符)

  • TEXT并且NTEXT已弃用 - 不再使用它们 -改为使用 - 有关详细信息,(N)VARCHAR(MAX)请参阅有关该主题的相关 MSDN 文档

  • NVARCHAR(X)是一个“正常”字符串,最大值。8000 字节数据(4000 个 Unicode 或 8000 个非 Unicode 字符)- 存储在 SQL Server 的常规页面中

  • NVARCHAR(MAX)是一种特殊类型,最多 2 GB 的存储空间(10 亿个 Unicode 字符)——但它需要在存​​储中进行特殊处理,需要更多的努力,执行速度比常规字符串慢一些;在绝对需要时使用

于 2012-07-31T09:42:40.037 回答
0

请参阅下面的链接了解 nvarchar 和 varchar 之间的区别,然后选择最适合您的

varchar 和 nvarchar 有什么区别?

于 2012-07-31T09:45:57.700 回答
0

对于普通英文字母使用 varchar,对于任何其他语言和外来字符使用 nvarchar。varchar 每个字符使用 1 个字节来存储,而 nvarchar 每个字符使用 2 个字节。

于 2012-07-31T10:11:46.577 回答