0
我有以下查詢這是爲了用來做自動完成一個搜索框:優化自動完成FULLTEXT SQL查詢
SELECT *, MATCH (screen_name, name) AGAINST ('+query*' IN BOOLEAN MODE) AS SCORE
FROM users
WHERE MATCH (screen_name, name) AGAINST ('+query*' IN BOOLEAN MODE)
ORDER BY SCORE DESC LIMIT 3
我也有在SCREEN_NAME &名全文索引(一起)。當這張桌子相對較小時(50k),這個效果很好。現在表是〜200k,並且需要幾秒(!)來完成每個查詢。我正在使用MySql MyISAM。這是否合理?我可以檢查什麼方向來改進,因爲它不能滿足自動完成查詢的需要。
有多少行符合WHERE子句? – Karolis
您可能需要更改爲第三方文本索引,如Sphinxsearch.com –
@Karolis它取決於查詢。如果它只是一個兩個字母而不是很多。更少結果的Shoudl查詢會更容易計算? – Noam