我有一個包含44個字段(列)的2百萬(行)產品表。 我試圖查詢這個基於'NAME'字段(varchar 160),我有一個全文索引。針對慢查詢的SQL匹配
這是當前正在執行71.34秒,用三個字$關鍵字執行的查詢, 62.47秒用兩個單詞$關鍵字執行並且用一個單詞$關鍵字執行0.017秒。
SELECT ID,
MATCH(NAME) AGAINST ('$keyword') as Relevance,
MANUFACTURER,
ADVERTISERCATEGORY,
THIRDPARTYCATEGORY,
DESCRIPTION,
AID,
SALEPRICE,
RETAILPRICE,
PRICE,
SKU,
BUYURL,
IMAGEURL,
NAME,
PROGRAMNAME
FROM products
WHERE MATCH(NAME) AGAINST ('$keyword' IN BOOLEAN MODE)
GROUP BY NAME
HAVING Relevance > 6
ORDER BY Relevance DESC LIMIT 24
如何優化此查詢以更好地執行2+單詞$關鍵字查詢?
消除「GROUP BY NAME」子句將性能提高了大約4倍。事情現在速度更快,但我會檢查出獅身人面像進一步改善。謝謝! – user514731 2010-11-20 22:51:49