小编典典

快速SQL Server搜索40M文本记录

sql

我有一个SQL Server2005数据库,其中的表包含4000万条记录。每个记录包含一列,该列存储用逗号分隔的关键字列表。每个关键字都是字母和数字的组合。关键字最长为7个字符,平均每条记录有15个关键字。关键字在各行之间不是唯一的。

我想搜索全部或部分关键字。

我创建了全文索引,其中显示了328,245,708个唯一键数。搜索效率对于4个或更多字符的查询(在测试机上大约 100毫秒
)来说很好,但是对于3个或更少字符的查询(在测试机上最多 3s )来说太慢了。

我一直在尝试CONTAINSTABLE和具有类似结果的CONTAINS查询'[query]*'

我认为简短查询的性能会较慢,因为简短单词在不同记录之间的重复频率更高。

对结果进行排序不是至关重要的,我一直在尝试返回TOP X从中排序为Rank的结果CONTAINSTABLE。这不能提供理想的性能。

对于简短查询,如何使此搜索更快?


阅读 179

收藏
2021-04-28

共1个答案

小编典典

您可能希望将其连接到SOLRSphinx之类的东西,并让专用的文本搜索引擎处理搜索功能。

2021-04-28