mysql 执行计划 order_mysql order by 造成语句 执行计划中Using filesort,Using temporary相关语句的优化解决...

mysql> explain  select permission.* from t_rbac_permission   permission  inner JOIN  t_rbac_acl  acl  on acl.PERMISSION_ID=permission.ID

where  permission.menu=1 and acl.PRINCIPAL_TYPE=0     order by permission.create_date desc;

+----+-------------+------------+--------+--------------------+---------+---------+-----------------------------+------+----------------------------------------------+

| id | select_type | table      | type   | possible_keys      | key     | key_len | ref                         | rows | Extra                                        |

+----+-------------+------------+--------+--------------------+---------+---------+-----------------------------+------+----------------------------------------------+

|  1 | SIMPLE      | acl        | ALL    | FKE43AF088F9936F96 | NULL    | NULL    | NULL                        |   94 |

Using where; Using temporary; Using filesort |

|  1 | SIMPLE      | permission | eq_ref | PRIMARY            | PRIMARY | 98      | bs_common.acl.PERMISSION_ID |    1 | Using where                                  |

+----+-------------+------------+--------+--------------------+---------+---------+-----------------------------+------+----------------------------------------------+

2 rows in set (0.00 sec)

explain  select permission.* from t_rbac_permission   permission  inner JOIN  t_rbac_acl  acl

on acl.PERMISSION_ID=permission.ID

where   permission.menu=1 and acl.PRINCIPAL_TYPE=0

;

+----+-------------+------------+--------+--------------------+---------+---------+-----------------------------+------+-------------+

| id | select_type | table      | type   | possible_keys      | key     | key_len | ref                         | rows | Extra       |

+----+-------------+------------+--------+--------------------+---------+---------+-----------------------------+------+-------------+

|  1 | SIMPLE      | acl        | ALL    | FKE43AF088F9936F96 | NULL    | NULL    | NULL                        |   94 |

Using where|

|  1 | SIMPLE      | permission | eq_ref | PRIMARY            | PRIMARY | 98      | bs_common.acl.PERMISSION_ID |    1 | Using where |

+----+-------------+------------+--------+--------------------+---------+---------+-----------------------------+------+-------------+

????? why    加上

order by permission.create_date desc 的影响???

首先查看相关字段是否加上索引如 order by的字段是否加上索引。加上索引之后单表查询看如何??

1e3c73d1212023edcd85c102bb05382e.png

07b28b9b7af09d8c6b9709081fefe460.png

e8d1d37fd97a38afc32209fd04f767b1.png

ok 单表查询还是Using filesort. 查询相关资料进行组合索引试试看

4e5374670b52365eb1390b2b6562986b.png

ok,现在终结了,那么试试连接查询。各种测试结果如下:

40a781c6d74db1bd125069003d66a71f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值