[英]What is the best way to search in sql with multiple tables?
我的桌子上有3张桌子,我想从空格中分割的短语中搜索它们
例如:快棕色。
首先,它将搜索词组“ the quick brown”,然后是“ The”,“ quick”,“ brown”
我的方法是合并所有表然后进行搜索。
SELECT body FROM
(SELECT body FROM table1
UNION ALL
SELECT body FROM table2)
) AS row WHERE body LIKE '%The quick brown%' OR body LIKE '%The%' OR body LIKE '%quick%' OR body LIKE '%brown%'
更快地做到这一点的最佳方法是什么?
顺便说一下,我正在使用MySQL
只是一些观察:
OR
,所以查询将始终执行like %the%
子句,例如,该子句始终包含并提供比最严格的子句更广泛的结果。 我以为你不想要的东西。 我认为最好的解决方案是在技术堆栈中添加诸如sphinx之类的全文本搜索组件,因为它可以执行此类搜索并基于复杂算法返回加权结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.