是否可以在用于保存URL的NVARCHAR(4000)列上创建主键或唯一索引? SQL 2008中的唯一索引似乎有900字节的限制。
答案 0 :(得分:6)
最好在快速查找的第一个50
字符和UNIQUE
哈希上的MD5
索引(或另一个足够独特的哈希)上创建一个带前缀的索引
CREATE TABLE urls (url NVARCHAR(4000) NOT NULL, url_prefix AS LEFT(url, 50), url_hash AS HashBytes('MD5', url))
CREATE INDEX ix_urls_prefix ON urls (url_prefix)
CREATE INDEX ix_urls_hash ON urls (url_hash)