如何保持 nvarchar
字段的唯一性?我的一个字段存储 MP3 文件的 URL,其长度可以从 10 个字符到 4000 个字符不等。我尝试创建索引,但由于总长度超过 900 字节,无法创建索引。
如果该字段未被索引,则搜索任何内容都会变慢。我正在使用 C#、ASP.net MVC 进行前端开发。
如何保持 nvarchar
字段的唯一性?我的一个字段存储 MP3 文件的 URL,其长度可以从 10 个字符到 4000 个字符不等。我尝试创建索引,但由于总长度超过 900 字节,无法创建索引。
如果该字段未被索引,则搜索任何内容都会变慢。我正在使用 C#、ASP.net MVC 进行前端开发。
你可以使用CHECKSUM命令,并在带有校验和的列上放置索引。
--*** Add extra column to your table that will hold checksum
ALTER TABLE Production.Product
ADD cs_Pname AS CHECKSUM(Name);
GO
--*** Create index on new column
CREATE INDEX Pname_index ON Production.Product (cs_Pname);
GO
然后您可以使用以下查询快速检索数据:
SELECT *
FROM Production.Product
WHERE CHECKSUM(N'Bearing Ball') = cs_Pname
AND Name = N'Bearing Ball';
这里是文档:http://technet.microsoft.com/en-us/library/ms189788.aspx