gpt4 book ai didi

sql-server-2008 - SQL Server : The total size of an index or primary key cannot exceed 900 bytes

转载 作者:行者123 更新时间:2023-12-04 06:58:58 25 4
gpt4 key购买 nike

我正在尝试在包含 URL 的列上放置索引。由于 URL 的最大长度超过 2000 个字符,我将数据类型设置为 NVARCHAR(3000)。当我这样做时,我收到了错误 The total size of an index or primary key cannot exceed 900 bytes .由于我可能需要按 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'

这种方法对于精确匹配应该非常有效。如果您想要部分匹配,最好使用全文搜索功能。

关于sql-server-2008 - SQL Server : The total size of an index or primary key cannot exceed 900 bytes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7801282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com