查看: 77|回复: 3

[SQL Server] explain执行计划分析-梁十八的博客-51CTO博客

[复制链接]
  • TA的每日心情
    开心
    2017-8-13 08:16
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2019-6-27 14:31:19 | 显示全部楼层 |阅读模式

    告诉我们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:








    您需要登录后才可以回帖 登录 | 注册青鸟豆号

    本版积分规则

    Copyright 1999-2019 Beijing Aptech Beida Jade Bird Information Technology Co.,Ltd

    北大青鸟IT教育 北京阿博泰克北大青鸟信息技术有限公司 版权所有

    京ICP备11045574号-3 京公网安备11010802013845号

    快速回复 返回顶部 返回列表