优化联接查询

MySQL如何执行联接查询

在优化联接查询时,需要特别注意以下几点:

  1. 确保 ON 或者 USING 子句中的列上有索引。 在创建索引的时候就要考虑到联接的顺序:当表 A 和表 B 用列 c 联接的时候,如果优化器的联接顺序是 B、A,那么就不需要在 B 表的对应列上建索引(没有用到的索引只会带来额外的负担)。一般来说,除非有其他理由,否则只需在联接顺序中的第二个表的相应列上创建索引

  2. 确保任何 GROUP BY 和 ORDER BY 中的表达式只涉及一个表中的列,只有这样 MySQL 才有可能使用索引来优化这个过程

最后更新于