如何解析mysql导出来的sql文件打开你的navicat:下图有一个快速打开的方法,小伙伴们可以试试 。
双击打开你需要导出的数据库,然后右键单机会有一个弹出框 。
【MySQL怎么分析SQL mysql查询分析工具】例如:我想要导出“本地”连接》webdb数据库的sql文件 。如图
如何是导出sql文件的话选择Dump SQL File..然后会弹出一个对话框 , 选择你要把sql文件放哪就行了 。
如果是导入sql文件的话,你就需要选择Execute Sql File,然后也会弹出一个对话框,让你选择自己需要执行的sql文件 。然后点击确定就可以了 。
Mysql trace分析SQL优化器explain 可以查看 SQL 执行计划,但是无法知道它为什么做这个决策,如果想确定多种索引方案之间是如何选择的或者排序时选择的是哪种排序模式 。从 MySQL 5.6 开始,可以使用 trace 查看优化器如何选择执行计划 。通过trace,能够进一步了解为什么优化器选择A执行计划而不是选择B执行计划,或者知道某个排序使用的排序模式 , 帮助我们更好地理解优化器行为 。
分析trace中的执行计划 。可以有效分析建的索引为什么没有走 。查看优化器如何选择执行计划 , 获取每个可能的索引选择的代价 。
TRACE 字段中整个文本大致分为三个过程 。
准备阶段:对应文本中的 join_preparation
优化阶段:对应文本中的 join_optimization
执行阶段:对应文本中的 join_execution
使用时,重点关注优化阶段和执行阶段 。
索引字段会作用在查询和排序时 , 有排序字段时考虑跟查询一块建立组合索引
Mysql学会查看sql的执行计划首先在Mysql的服务中有 连接器、查询缓存(Mysql8 已经删除)、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现
而一条sql怎么执行是由优化器决定的, 优化器是在表里面有多个索引的时候,决定使用哪个索引;或者在一个语句有多表关联(join)的时候,决定各个表的连接顺序 。
而执行计划就是优化器优化后的sql的执行的详细方案
Mysql中查看执行计划的方式有两种 : 1. 使用desc2.使用 explain使用它俩的效果是一样的
接下来要通过执行计划知道sql是怎么执行的
执行计划中有几个重要的字段, 分别是
id,table,type,possible_keys,key,key_len, Extra
id :可以通过ID来查看在多表联查中sql是先查询哪张表的 id相同的从上往下依次执行,id不同的id大的先执行
table:table当然就是查询的表名
type :查询的类型查询类型分为ALL,index,range,ref , eq_ref, const(system),null
ALL: 指的全盘扫描,没有走任何索引查询结果集大于25% 优化器可能会走全盘扫描字符串查询的时候一定要加"" 不然可能会全索引扫描(隐式转换)统计信息 失效 或者 过旧 也可能走全盘扫描因为优化器会参考统计信息来制定执行计划
index: 全索引扫描就是扫描整颗索引树
range: 索引范围查询索引树的一部分范围范围索引中==like的效率会比orin的效率高, 使用like %再前面的不走索引
ref:辅助索引的等值查询
当查询的数据量小,优化器也有可能会走索引的全盘扫描这里我就不贴图了;
eq_ref : 多表连接查询中,被连接的表的连接条件列是主键或者唯一键
const(system): 主键 或者 唯一键 的等值查询
null: 没有数据
他们的性能是依次递增的 全盘扫描性能最差,const性能最高
possible_keys:查询过程中可能用到的索引
key: 真正使用到的索引
key_len:走索引的长度
这个是怎么计算的呢?
key_len 的计算方法 :
int 类型最长存储4个字节长度的数字有not null是4字节没有的话会花1字节存储是不是null
推荐阅读
- 直播技巧组合名称,直播技巧组合名称有哪些
- flutter怎么实现字母头像的简单介绍
- 公司如何推广网络产品,公司如何推广网络产品销售
- 健身直播拍摄全部技巧,健身直播背景图
- mysql2模块怎么使用 30万死期利息一年多少
- 电脑屏幕怎么投到手机屏幕上,电脑屏幕怎么投到手机屏幕上看
- 如何提升新媒体营销能力,如何提升新媒体内容质量
- b站手机直播小,b站手机直播小窗口播放
- java代码打印杨辉三角 java打印输出直角三角形