explain执行计划分析
告诉我们mysql优化器是怎样处理我们的sql请求的
并不是说在相关查询列上有索引,mysql在查询时就能使用到,虽然我们认为适合,但mysql优化器不一定这样认为
mysql并不一定根据我们sql语句中的顺序进行表的关联,而是根据据索引的统计信息,自动调整关联顺序
id:
(id只能是两种值:数字,null。数字表示sql对数据库的select操作顺序/数量,id越大优先级越高;如果是null则表示几个语句union产生的结果集)
(上图,总共一个select语句,所以id显示1。第一个对应表b,第二个表a,第三个表c,可见sql并不一定是按照我们的关联顺序来操作的)(id值相同,则由上而下的顺序)
(id值不同,则先大的后小的)
(id有相同有不同的情况下,先大的,相同的则由上往下)
select_type:
table:显示表名,如果有别名则显示别名
partitions:
分区键尽量选择查询少跨分区的
type:
性能从高到低排列:
extra列:
文件排序using filesort可能在磁盘中,也可能在内存中
using temporary和using filesort差不多,要使用临时表查询
possible_keys:
key:
key_len:
ref:
rows:
filtered:
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341