我有一個數據庫,每天有超過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