sql-server-2008 – SQL Server:索引或主键的总大小不能超过900
发布时间:2020-12-12 08:55:40 所属栏目:MsSql教程 来源:网络整理
导读:我试图在一个包含URL的列上放置一个索引.由于URL的最大长度超过2000个字符,我将数据类型设置为NVARCHAR(3000).当我这样做时,我得到了错误索引或主键的总大小不能超过900字节.由于我可能需要通过URL搜索记录,因此我需要在我的URL列上添加索引.有没有解决这个限
我试图在一个包含URL的列上放置一个索引.由于URL的最大长度超过2000个字符,我将数据类型设置为NVARCHAR(3000).当我这样做时,我得到了错误索引或主键的总大小不能超过900字节.由于我可能需要通过URL搜索记录,因此我需要在我的URL列上添加索引.有没有解决这个限制的方法?
解决方法您可以为URL的校验和创建计算列,然后在查询中使用校验和.校验和不会是唯一的,但它会迅速缩小可能的匹配数量.首先,向表中添加一个计算列,如下所示: Alter Table YourTableName Add URL_HASH As CheckSum(URL) 现在索引列如下: Create Index idx_YourTableName_URL_HASH On YourTableName(URL_HASH) 现在,您可以编写一个查询来执行索引查找以查找您要查找的行: Select URL From YourTableName Where URL_HASH = CheckSum(N'google.com') And URL = 'google.com' 对于完全匹配,此方法应该非常有效.如果您想要部分匹配,最好使用全文搜索功能. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |