假设我有一个相当简单的应用程序,它允许用户将信息存储在他们拥有的DVD上(标题,演员,年份,描述等),并且我希望允许用户按以下任何字段(例如“ Keanu Reeves”)搜索自己的收藏集或“黑客帝国”将是有效的搜索查询)。
与SQL全文搜索相比,将查询与简单地按空格分隔并在SQL语句中执行一些“ LIKE”子句有什么好处?它只是执行得更好还是会实际返回更准确的结果?
全文搜索可能会更快,因为它将受益于用于查找记录的单词索引,而使用LIKE则需要进行全表扫描。
在某些情况下,LIKE会更准确,因为LIKE“%The%”和LIKE“%Matrix”会选择“ The Matrix”而不是“ Matrix Reloaded”,而全文搜索将忽略“ The”并返回两者。话虽如此,但两者都可能会带来更好的结果。