【发布时间】:2012-03-24 07:00:54
【问题描述】:
我有一个包含 75,000 多行的数据库,每天添加 500 多个条目。
每一行都有一个标题和描述。
我创建了一个 RSS 提要,它为您提供特定搜索词的最新条目(例如,http://site.com/rss.rss?q=Pizza 将输出搜索词“披萨”的 RSS)。
我想知道为此编写 SQL 查询的最佳方式是什么。现在我有:
SELECT *
FROM 'table'
WHERE (('title' LIKE %searcherm%) OR ('description' LIKE %searcherm%))
LIMIT 20;
但问题是执行查询需要 2 到 10 秒。
是否有更好的方法来编写查询,我是否必须缓存结果(我将如何做?)或者更改数据库结构中的某些内容会加快查询速度(索引?)
【问题讨论】:
-
可能会更快地将单个线程/分叉处理成 2 个简单查询:
select from table where title limit 20然后select from table where description limit 20有点像,然后使用您的服务器端技术进行连接/列表连接