我有一个包含2列的文章表
Id INT(4) PK autoincrement Description VARCHAR(250) (and more columns)
此表包含500.000条记录,是一张INNODB表。 现在我想搜索这样的文章:
SELECT COUNT(*) FROM article (description like '%cannon%');
执行时需要几秒钟。
我可以做些什么来加快速度?
我已经在描述列
上读了一个索引答案 0 :(得分:2)
您应该考虑在说明中添加全文索引:
http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html
然后使用:
SELECT
COUNT(*)
FROM article
WHERE MATCH (description) AGAINST ('cannon' WITH QUERY EXPANSION);
答案 1 :(得分:1)
like '%cannon%'
的查询很难优化。不,索引无法帮助你。也许全文搜索可以帮助你。