我的表包含五百万个地址作为字符串。
有一个用户界面允许您按地址搜索,它以最简单的方式实现 - 在搜索字符串的两端使用带有通配符的LIKE
语法。
然而,这种方法确实很慢(特别是当搜索结果必须按某些标准排序时)。
我想使用全文搜索,因为它会更快,但它限制用户,我不想要它,因为大多数搜索查询只包含单词的一部分。
地址也可以缩写。
我该怎么办?我怎样才能更有效地实现地址搜索,但不会牺牲大部分用户体验。
修改
我刚刚读到,在执行match against
全文搜索时,我实际上可以在字符串的末尾使用通配符。
因此,如果我存储反转的地址,也许我可以做前缀通配符全文搜索。
但它会更快,多少?有一些基准吗?我找不到一个。