mysql加速搜索查询

时间:2013-01-21 12:10:55

标签: mysql

我有一个包含2列的文章表

Id INT(4) PK autoincrement
Description VARCHAR(250)
(and more columns)

此表包含500.000条记录,是一张INNODB表。 现在我想搜索这样的文章:

SELECT COUNT(*) FROM article (description like '%cannon%');

执行时需要几秒钟。

我可以做些什么来加快速度?

我已经在描述列

上读了一个索引

2 个答案:

答案 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%'的查询很难优化。不,索引无法帮助你。也许全文搜索可以帮助你。