我有一个数据库,每天有超过500,000个条目,有75,000多行。在SQL中搜索最有效的方法?
每一行都有一个标题和描述。
我创建了一个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秒执行查询。
有没有更好的方式来编写查询,我必须缓存结果(我会怎么做呢?),或将改变数据库结构加快查询(索引?)
可能更快单个线程之前使用CONCAT /叉加工成2个简单querys: 从'选择表格,其中标题限制20' 然后 '从表中选择描述限制20' 有点事情,然后做与您的服务器端的连接/列表concat技术 – 2012-03-06 18:42:13
solr,lucene,sphinx? – 2012-03-06 18:44:28