【发布时间】:2013-03-07 02:39:10
【问题描述】:
我刚刚尝试了这个并得到了有用的信息
表“用户”中的“用户名”列的类型为 不能用作索引中的键列。
用户名是一个 nvarchar(max) 列。
【问题讨论】:
-
nvarchar(max) 不能用作约束/索引。看看这个类似的问题:stackoverflow.com/questions/1184490/…
-
为什么要在
nvarchar(max)列上建立索引?你为什么使用nvarchar(max)作为用户名?你认为有人想要在他们的用户名中包含十亿个字符吗?可能nvarchar(50), (64) or (255)就足够了。(320)如果它要代表一个电子邮件地址。我想知道这里是否真的需要 Unicode。 -
LOL 10 亿个字符,涵盖多种语言。
-
索引条目的最大大小为 900 字节 - 任何大于该大小的内容无法编入索引。因此,您最多可以索引
nvarchar(450)(或varchar(900)) - 较大的字符串列不适合索引。 -
我很高兴我为人们提供了一些乐趣。 ;)
标签: sql-server database-indexes