MySQL中explain详解

本文详细介绍了SQL查询的explain分析工具,包括查询顺序、查询类型、索引使用等关键信息。通过explain,可以检查SQL语句是否有效利用索引,以及查询效率,帮助优化数据库性能。重点关注'using index'和'using where'等额外信息,以提升查询速度。
摘要由CSDN通过智能技术生成

使用explain可以查询sql语句是否使用索引,以及sql语句的查询顺序

  1. id
    sql语句的查询顺序,id相同,执行顺序从上到下;
    sql语句有子查询时,id不同,id越大执行优先级越高。

  2. select_type
    SIMPLE: 简单的查询语句,没有子查询和UNION
    PRIMARY: 复杂的sql语句,最外层查询被标记为PRIMARY
    SUBQUERY 包含子查询
    UNION 包含UNION的语句

  3. table
    sql语句执行的表

  4. partitions

  5. type
    显示查询使用的类型,效率从高到低:
    system > const > eq_ref > ref > range > index > all
    system: 只有一行记录,是const类型的特列,平时不会出现,这个也可以忽略不计
    const: 通过索引一次就找到了,一般查询条件为主键索引或唯一索引
    eq_ref:
    ref: 非唯一索引
    range: 查询给定范围的行
    index:
    all: 遍历全表找到匹配行

  6. possible_keys
    查询条件中出现的索引

  7. key
    实际使用的索引

  8. key_len
    索引使用的字节数

  9. ref
    非唯一索引

  10. rows
    查询结果的行数

  11. filtered

  12. extra
    额外信息
    Using index: 覆盖索引,避免访问表的数据行
    Using where: 使用了where过滤
    Using index condition; Using temporary:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值