相关疑难解决方法(0)

MySQL索引减慢了查询速度

MySQL Server version: 5.0.95
Tables All: InnoDB
Run Code Online (Sandbox Code Playgroud)

我遇到了MySQL数据库查询的问题.基本上我发现如果我索引一个特定的varchar(50)字段tag.name,我的查询需要更长的时间(x10)而不是索引字段.我正试图加快这个问题,但是我的努力似乎反效果.

罪魁祸首线和领域似乎是:

WHERE `t`.`name` IN ('news','home')
Run Code Online (Sandbox Code Playgroud)

我注意到,如果我tag直接查询表没有使用相同条件和名称字段索引的连接,我没有问题..它实际上按预期更快.

示例查询**

      SELECT `a`.*, `u`.`pen_name`
        FROM `tag_link` `tl`
  INNER JOIN `tag` `t`
          ON `t`.`tag_id` = `tl`.`tag_id`
  INNER JOIN `article` `a` 
          ON `a`.`article_id` = `tl`.`link_id`
  INNER JOIN `user` `u`
          ON `a`.`user_id` = `u`.`user_id`   
       WHERE `t`.`name` IN ('news','home')
         AND `tl`.`type` = 'article'
         AND `a`.`featured` = 'featured'
    GROUP BY `article_id`
       LIMIT 0 , 5
Run Code Online (Sandbox Code Playgroud)

使用索引**进行说明

| id | select_type | table | type   | possible_keys            | …
Run Code Online (Sandbox Code Playgroud)

mysql sql indexing performance

7
推荐指数
1
解决办法
2514
查看次数

标签 统计

indexing ×1

mysql ×1

performance ×1

sql ×1