mysql两表索引优化案例,左连接,右连接优化

2025-04-17 11:11:54

1、我们现在查询角色与角色的权限的数据。select * from role r left join role_action ra on r.rid=ra.rid;

mysql两表索引优化案例,左连接,右连接优化

2、现在有一个问题,有了主外键以后,索引应该是建立在左边还是右边上,加载哪些字段上。下面使用explain分析一下sql的执行计划。explain select * from rol髫潋啜缅e r left join role_action ra on r.rid=ra.rid;

mysql两表索引优化案例,左连接,右连接优化

3、现在是type有all,现在有左连接,现在在右边上添加索引优化。create index rid on role_action(rid);

mysql两表索引优化案例,左连接,右连接优化

4、添加索引之后重新执行sql执行计划,查看mysql的执行效果。

mysql两表索引优化案例,左连接,右连接优化

5、现在可以看到type变为了热风,rows也变成了优化比较明显,这是左连接的特性决定的,left join条件用于确定如何从右边搜索行,左边一定都有,

mysql两表索引优化案例,左连接,右连接优化

6、如果是右边连接,我们的索引优化就要建立在左边上。

mysql两表索引优化案例,左连接,右连接优化
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢