我有一个包含75,000+行记录的数据库,每天会添加500+条记录。
每一行都有标题和描述。
我创建了一个RSS订阅,可以根据特定搜索词提供最新的条目(例如,http://site.com/rss.rss?q=Pizza将输出与“Pizza”相关的RSS)。
我想知道编写此SQL查询的最佳方法是什么。目前我的查询语句如下:
SELECT *
FROM 'table'
WHERE (('title' LIKE %searcherm%) OR ('description' LIKE %searcherm%))
LIMIT 20;
但问题是执行这个查询需要花费2到10秒钟的时间。
有没有更好的方法来编写这个查询,我是否需要缓存结果(如何实现缓存?),或者是否可以通过更改数据库结构来加速查询(如使用索引)?
select from table where title limit 20
然后select from table where description limit 20
然后使用您的服务器端技术进行连接/列表合并。 - Brandt Solovij