1

我有一个包含五百万个地址作为字符串的表。有一个用户界面允许您按地址搜索,它以最简单的方式实现 -LIKE在搜索字符串的两端使用带有通配符的语法。然而,这种方法真的很慢(特别是当搜索结果必须按某些标准排序时)。我想使用全文搜索,因为它会更快,但它限制了用户,我不想要它,因为大多数搜索查询只包含单词的一部分。地址也可以缩写。

我能做些什么?如何在不牺牲大部分用户体验的情况下实现地址搜索以提高效率。

编辑match against我刚刚读到,在执行全文搜索 时,我实际上可以在字符串末尾使用通配符。因此,如果我存储反向地址,也许我可以进行前缀通配符全文搜索。但它会更快吗?多少?有一些基准吗?我找不到一个。

4

1 回答 1

0

您可能想查看全文搜索。SQL 中的LIKE运算符效率非常低,尤其是当您有那么多记录时。

于 2013-03-06T23:13:30.530 回答