15.explain
type : - const 常数查找,一般为主键或者唯一索引查找
- eq_reg 范围查找,主键或者唯一索引的范围查找
- ref 一般用于连接查询,一个表基于某个索引的查找
- range 基于索引的范围查找
- index 基于索引的扫描
- all 表扫描
key_len : 索引的长度,mysql 每次读取以页为单位,如果一页中存储的索引数量越大,查询效率越高
count() 和 max()的优化
子查询到优化
连接查询,如果是一对多关系,将出现多个重复结果,用 distinct 去重
group by 优化
优化前:
explain select actor.first_name,actor.last_name,count(*) from sakila.film_actor inner join sakila.actor using(actor_id) group by film_actor.actor_id
优化后:
explain select actor.first_name,actor.last_name,c.cnt from sakila.actor inner join(select actor_id,count(*) as cnt from sakila.film_actor group by actor_id) as c using(actor_id)
在子查询中用过滤条件,而不是连接之后,再用过滤
Limit 优化
优化前:
explain select film_id,description from sakila.film order by title limit 50,5
优化后:
explain select film_id,description from sakila.film order by film_id limit 50,5
15.explain相关推荐
- 9. MySQL EXPLAIN解析
专栏地址: MySQL系列文章专栏 文章目录 1. EXPLAIN简介 2. EXPLAIN输出格式 2.1 EXPLAIN 包含的列 2.2 id列 2.3 select_type SIMPlE P ...
- Greenplum,HAWQ interval parser带来的问题 - TPCH 测试注意啦
Greenplum,HAWQ interval parser带来的问题 - TPCH 测试注意啦 作者 digoal 日期 2016-10-11 标签 Greenplum , PostgreSQL , ...
- MyBatis】MyBatis一级缓存和二级缓存
转载自 MyBatis]MyBatis一级缓存和二级缓存 MyBatis自带的缓存有一级缓存和二级缓存 一级缓存 Mybatis的一级缓存是指Session缓存.一级缓存的作用域默认是一个SqlSe ...
- mysql索引优化实际例子_MySQL索引优化的实际案例分析
Order by desc/asc limit M是我在mysql sql优化中经常遇到的一种场景,其优化原理也非常的简单,就是利用索引的有序性,优化器沿着索引的顺序扫描,在扫描到符合条件的M行数据后 ...
- mysql limit asc_MySql sql优化之order by desc/asc limit M-阿里云开发者社区
Order by desc/asc limit M是我在mysql sql优化中经常遇到的一种场景,其优化原理也非常的简单,就是利用索引的有序性,优化器沿着索引的顺序扫描,在扫描到符合条件的M行数据后 ...
- Silverlight——施工计划日报表(一)
前一段时间,客户需要一个施工计划报表,要求能够直观的看到各个计划的实施时间,而且能够修改.琢磨着,决定用Silverlight搞定好了.效果如下: 用户可以通过右键菜单的[完成]选项来标记完成,左键选 ...
- 微信V3支付 订单查询 退款查询
本编在对接V3支付的时候连连撞头,希望后来人能少走点弯路,如果有bug请海涵啊,希望各位大佬也能给我点意见,话不多说上代码: service层 package com.tiyaa.mall.pay.s ...
- 【操作系统概念-作业8】Main Memory
#! https://zhuanlan.zhihu.com/p/424671940 [操作系统概念-作业8]Main Memory Operating System Concepts Exercise ...
- 2018百度秋招一面/二面/三面
1.int和integer所占字节,int .new integer.integer区别,大于128的时候有什么区别. int.integer所占字节为4字节. 1. int 和Integer在进行比 ...
- MyBatis一级缓存和二级缓存
MyBatis自带的缓存有一级缓存和二级缓存 一级缓存 Mybatis的一级缓存是指Session缓存.一级缓存的作用域默认是一个SqlSession.Mybatis默认开启一级缓存. 也就是在同一个 ...
最新文章
- zabbix 4.0.3 use docker-compose deploy
- 第十五届全国大学生智能车全国总决赛获奖信息-华南赛区
- 5/5 MySQL入门总结:其它操作
- 棋盘里的数学(qduoj 记忆化搜索)
- OPENCV回调函数
- android 远程桌面连接闪退,远程桌面一点连接就闪退,不能弹出输入账号密码窗口...
- 如何快速学习一门技术或进入一个岗位
- Python 项目实践二(生成数据)第二篇
- VS Code远程链接报错Could not establish connection to “hz-t2.matpool.com”
- 【论文写作】毕业论文写作的基本要求讲解
- 读书笔记----10日摘抄整理(11)
- 面向对象程序设计_Task5_Calculator1.5.0
- 分享几个搜图,图标,图片网站
- XML与XSD两兄弟
- 赤诚的火焰--致时代里永远不变的规矩
- TopoJSON格式规范说明
- 2017-2018-1 现代偏微分方程导论
- 如何解决更新windows10后兼容性助手显示Vmware不能在Windows上运行的问题?
- 【代码审计-JAVA】基于javaweb框架开发的
- 神州数码交换机CS6200命令学习(三)
热门文章
- thinkphp遗留问题
- 2010-4-22 星期四 晴转多云
- 在GridView分页过程中,CheckBox的选中状态不丢失
- R语言ETL工程系列:读写(read/write)
- 47页PPT,海量信息!用户画像架构、指标、标签、ETL、性能及案例应用一站通!(附PPT下载及视频 )...
- R语言之数据分析高级方法「时间序列」
- java 新增的方法外部调用提示不存在_Java面试简答题(一)
- python 闭包,装饰器,random,os,sys,shutil,shelve,ConfigParser,hashlib模块
- JavaScript Window Navigator
- Invalid regular expression: unmatched parentheses