网站建设佰首选金手指十二,手机下载视频网站模板下载,荷塘网站建设,左侧导航网站系列文章目录 文章目录 系列文章目录一、type说明二、MySQL中使用Show Profile1.查看当前profiling配置2.在会话级别修改profiling配置3.查看profile记录4.要深入查看某条查询执行时间的分布 一、type说明 我们只需要注意一个最重要的type 的信息很明显的提现是否用到索引…系列文章目录 文章目录 系列文章目录一、type说明二、MySQL中使用Show Profile1.查看当前profiling配置2.在会话级别修改profiling配置3.查看profile记录4.要深入查看某条查询执行时间的分布 一、type说明 我们只需要注意一个最重要的type 的信息很明显的提现是否用到索引 type结果值从好到坏依次是
system const eq_ref ref fulltext ref_or_null index_merge unique_subquery index_subquery range index ALL
all:全表扫描
index:另一种形式的全表扫描只不过他的扫描方式是按照索引的顺序
range有范围的索引扫描相对于index的全表扫描他有范围限制因此要优于index
ref: 查找条件列使用了索引而且不为主键和unique。其实意思就是虽然使用了索引但该索引列的值并不唯一有重复。这样即使使用索引快速查找到了第一条数据仍然不能停止要进行目标值附近的小范围扫描。但它的好处是它并不需要扫全表因为索引是有序的即便有重复值也是在一个非常小的范围内扫描。
const:通常情况下如果将一个主键放置到where后面作为条件查询mysql优化器就能把这次查询优化转化为一个常量。至于如何转化以及何时转化这个取决于优化器
一般来说得保证查询至少达到range级别最好能达到reftype出现index和all时表示走的是全表扫描没有走索引效率低下这时需要对sql进行调优。
当extra出现Using filesor或Using temproary时表示无法使用索引必须尽快做优化。
possible_keyssql所用到的索引
key显示MySQL实际决定使用的键索引。如果没有选择索引键是NULL
rows: 显示MySQL认为它执行查询时必须检查的行数。
这里可以参考之前写的一篇用MySQL 执行计划分析 DATE_FORMAT 函数对索引的影响
二、MySQL中使用Show Profile
Show profile 默认是禁用的用处是记录在服务器中运行的查询耗费的时间和其他一些查询执行状态变更相关的数据。
1.查看当前profiling配置
show variables like ‘profiling%’
2.在会话级别修改profiling配置
set profiling 1
我在执行这个语句是返回给我
0 row(s) affected, 1 warning(s): 1287 ‘profiling’ is deprecated and will be removed in a future release.
看这个提示似乎后期的版本profiling会有变动
3.查看profile记录
show profiles
当一条查询提交给服务器时此工具会记录剖析信息到一张临时表并为每个查询赋予一个从1开始的整数标识符。
4.要深入查看某条查询执行时间的分布
show profile for query 整数标识符