我有2列MySQL的加快搜索查詢
Id INT(4) PK autoincrement Description VARCHAR(250) (and more columns)
此表包含500.000記錄,是InnoDB表的文章表。 現在我想尋找這樣的文章:
SELECT COUNT(*) FROM article (description like '%cannon%');
這需要幾乎一秒鐘執行..
我能來,使這個更快?
我已經alread上的說明列的索引
我有2列MySQL的加快搜索查詢
Id INT(4) PK autoincrement Description VARCHAR(250) (and more columns)
此表包含500.000記錄,是InnoDB表的文章表。 現在我想尋找這樣的文章:
SELECT COUNT(*) FROM article (description like '%cannon%');
這需要幾乎一秒鐘執行..
我能來,使這個更快?
我已經alread上的說明列的索引
你應該考慮在說明中添加全文索引:
http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html
然後用:
SELECT
COUNT(*)
FROM article
WHERE MATCH (description) AGAINST ('cannon' WITH QUERY EXPANSION);
有幾件事情,你可以做,一個是添加主鍵到表中以確保它可以正確編制索引,然後在表上添加索引以加快查詢速度。選擇COUNT(*)FROM文章WHERE描述LIKE'%cannon%';另外, – DarkMantis
描述索引不起作用 – ajreal
'like'%cannon%''殺死索引。 –