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的字段是否加上索引。加上索引之后单表查询看如何??

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

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

例如:

 
增加索引后

效果如下

 
 
 

mysql order by 造成语句 执行计划中Using filesort,Using temporary相关语句的优化解决的更多相关文章

  1. 执行计划中Using filesort,Using temporary相关语句的优化解决

    昨天听开发人员提到,相关的彩票网页当中一个页面刷新的很慢,特别是在提取数据的时候,今天早上一到,便去找开发人员要去相关的也没进行浏览,窥探哪些数据出现了问题,开发人员使用PHP开发,所以我用IE很容易 ...

  2. MySQL 执行计划中Extra(Using where,Using index,Using index condition,Using index,Using where)的浅析

      关于如何理解MySQL执行计划中Extra列的Using where.Using Index.Using index condition,Using index,Using where这四者的区别 ...

  3. mysql explain 查看sql语句执行计划概述

    mysql explain 查看sql语句执行计划概述 id:选择标识符select_type:表示查询的类型.table:输出结果集的表partitions:匹配的分区type:表示表的连接类型po ...

  4. MySQL源码解析之执行计划

    MySQL源码解析之执行计划 MySQL执行计划介绍 MySQL执行计划代码概览 MySQL执行计划总结 一.MySQL执行计划介绍 在MySQL中,执行计划的实现是基于JOIN和QEP_TAB这两个 ...

  5. [转载] EXPLAIN执行计划中要重点关注哪些要素

    原文: https://mp.weixin.qq.com/s?__biz=MjM5NzAzMTY4NQ==&mid=400738936&idx=1&sn=2910b4119b9 ...

  6. EXPLAIN PLAN获取SQL语句执行计划

    一.获取SQL语句执行计划的方式 1. 使用explain plan 将执行计划加载到表plan_table,然后查询该表来获取预估的执行计划 2. 启用执行计划跟踪功能,即autotrace功能 3 ...

  7. SQL优化 MySQL版 -分析explain SQL执行计划与Extra

    Extra 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 注:此文章必须有一定的Mysql基础,或观看执行计划入门篇传送门: https:.html 终于总结到哦SQK执行计划的最 ...

  8. SQL优化 MySQL版 -分析explain SQL执行计划与笛卡尔积

    SQL优化 MySQL版 -分析explain SQL执行计划 作者 Stanley 罗昊 [转载请注明出处和署名,谢谢!] 首先我们先创建一个数据库,数据库中分别写三张表来存储数据; course: ...

  9. EXPLAIN执行计划中要重点关注哪些要素(叶金荣)

    原文:http://mp.weixin.qq.com/s/CDKN_nPcIjzA_U5-xwAE5w 导读 EXPLAIN的结果中,有哪些关键信息值得注意呢? MySQL的EXPLAIN当然和ORA ...

  10. EXPLAIN执行计划中要重点关注哪些要素

    MySQL的EXPLAIN当然和ORACLE的没法比,不过我们从它输出的结果中,也可以得到很多有用的信息. 总的来说,我们只需要关注结果中的几列: 列名 备注 type 本次查询表联接类型,从这里可以 ...

随机推荐

  1. pageoffice6提取word指定位置(数据区域)的值

    在实际的开发过程中,经常会遇到提取Word文档中指定位置的数据保存到数据库中的需求,PageOffice客户端控件即支持在线保存Word文件,也支持Word文档中的指定位置的数据或所有的数据提交到服务 ...

  2. AIRIOT物联网低代码平台如何配置Modbus RTU协议?

    MBRTU即MODBUS RTU的简称,MODBUS是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信.平台的MBRTU协议是建立在TCP协议之上的 ...

  3. python计算机视觉学习笔记——PIL库的用法

    如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 这个 ...

  4. 重温 ShardingSphere 分布策略

    ShardingSphere--分片及策略:https://blog.csdn.net/weixin_38910645/article/details/107538848 Sharding-JDBC: ...

  5. C# Datagridview combox列 初始化颜色

    DataGridView 初始化完成后,在combox里显示颜色,如这样: DataGridView 注册 cellPainting事件: private void m_dataGridView_Ce ...

  6. java 反射——任意类型数组扩容

    //java object[]无法转换为原对象类型,可以使用反射来做. //这里的参数不是传object[] 而是传object. public Object GoodArrayGrow(Object ...

  7. C#复杂类型转为QueryString

    使用 visual studio 创建 webapi 项目,并添加 DefaultController.cs,代码如下 public class DefaultController : ApiCont ...

  8. 在Windows上运行Rainbond,10分钟快速安装

    前言 Windows 桌面运行 Rainbond,Windows 开发者的新选择. 经过适配Mac以后,Windows的适配也是成为了近期的小目标,经过不断地测试,不断地研究.最后也是达成了完美运行的 ...

  9. wordpress博客系统报错

    第一种,只显示nginx的默认网页 说明wordpress的网页配置文件没有被系统读取 我们就需要去查看nginx的配置文件/etc/nginx/conf.d/default.conf 首先,查看是不 ...

  10. 解决 idea web项目没有小蓝点的问题

    在idea导入web项目,项目没有显示小蓝点,无法添加 java文件和运行.如下图的springboot-schedule 和 springboot-test 都没有蓝点: 解决方案一: 点击 Fil ...