mysql多表查询索引优化

 时间:2024-10-12 10:50:39

1、现在我们以查询员工角色和权限为例:select * from member m left join member_role mr on m.mid=mr.mid left joi荏鱿胫协n role r on mr.rid=r.rid;

mysql多表查询索引优化

2、执行sql执行计划,查看mysql的sql执行结果。现在表进行了全表扫描了。

mysql多表查询索引优化

3、现在在所有的右表上建立一个索引:create index mr_index on member_role(mid);

mysql多表查询索引优化

4、建立好索引之后重新执行sql执行计划。explain 衡痕贤伎select * from member m left join member_role mr on m.mid=mr.mid left join role r on mr.rid=r.rid;

mysql多表查询索引优化

5、由此可以看出type都是ref且rows优化很好,效果不错,因此索引最好设置在需要进场查询的字段中。

mysql多表查询索引优化

6、join语句的优化原则,尽可能减少join语句中循环的总次数,永远用小结果集驱动大的结果集。当无法保证被驱动表的join条件字段被索引且内存资源充足的前提下,不要吝啬JoinBuffer的设置。

mysql多表查询索引优化
  • 使用jq方法怎样实现从上到下慢慢出现
  • 如何安装最新版本64位Windows的SublimeText工具
  • sqldbx怎么在运行结果中生成创建表语句
  • xshell如何修改字体和大小?
  • php怎样取得数组的所有键值?
  • 热门搜索
    新鲜人参怎么吃 怎么能让胸变大 冰袋怎么用 甲状腺肿大怎么治 屏幕刷新率怎么调 角质层薄怎么修复 心跳快怎么办 我的世界刷怪笼怎么做 黑眼圈是怎么形成的 怎么消痘印