这个MYSQL可以优化吗?

时间:2012-02-09 20:12:12

标签: mysql optimization indexing full-text-search

您好我有一个评论表,我在其上运行全文搜索。 c1和c2是使用的同一个表上的别名 通过标准:c1.parent_id = 0我只收到问题(不是他们的答案) 并通过c2.parent_id<> 0我过滤了已有答案的问题

SELECT DISTINCT c1.comment, c1.comment_id, MATCH(c1.comment) AGAINST ('keyword1 keyword2 keyword3') AS score 
    FROM comments AS c1 
        JOIN comments AS c2 
            ON c1.comment_id = c2.parent_id 
    WHERE c1.parent_id=0 
        and c2.parent_id <> 0 
    ORDER BY score DESC LIMIT 9

问题在于,当我运行EXPLAIN SELECT时...搜索会查找表中的每一行 - 所以它越大,此操作就会越慢,而不是只搜索parent_id = 0的行

我想问:是否可以进一步优化此类查询?

1 个答案:

答案 0 :(得分:0)

为所有id列添加索引

    alter table your_table add index(parent_id)

与comment_id相同

相关问题