【发布时间】:2011-07-18 16:41:43
【问题描述】:
Jeff 在https://blog.stackoverflow.com/2011/03/redesigned-users-page/ 中提到
- 搜索再次“匹配任意位置”,但现在最少匹配 3 个字符。
好东西!由于 LIKE 匹配的性能,以及全文搜索不精确的事实(例如,用户名中的首字母太短而无法在任何全文索引中显示),这被“破坏”了很长一段时间。
一定有办法解决这个问题,我有一个想法,但我想看看是否有人已经有了应对这个挑战的解决方案(替代方案)。
示例查询:
SELECT TOP 36 *
FROM users
WHERE nickname LIKE '%' + @search + '%'
注意:尽管标签是 sql-server,因为最多有 5 个标签,但我非常乐意研究其他 RDBMS 中的解决方案以实现可移植性。
【问题讨论】:
-
你见过这个吗? sommarskog.se/yourownindex.html本书在“建立自己的索引”一章中涵盖了您的查询。
-
@Mik - 是的,我知道这本书。我应该补充一下如果你已经阅读了,请不要在这里发布内容。买它是为了一个好的理由。我正在寻找自我构思或“开源”的想法。图书信息不是免费的
标签: sql sql-server optimization indexing sql-like