美文网首页
覆盖索引

覆盖索引

作者: zzj0990 | 来源:发表于2021-01-04 00:08 被阅读0次

覆盖索引

1、当发起一个被索引覆盖的查询时,在explain的extra列可以看到using index的信息,此时就使用了覆盖索引

mysql> explain select store_id,film_id from inventory\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: inventory
   partitions: NULL
         type: index
possible_keys: NULL
          key: idx_store_id_film_id
      key_len: 3
          ref: NULL
         rows: 4581
     filtered: 100.00
        Extra: Using index
1 row in set, 1 warning (0.01 sec)

2、在大多数存储引擎中,覆盖索引只能覆盖那些只访问索引中部分列的查询。不过,可以进一步的进行优化,可以使用innodb的二级索引来覆盖查询。

例如:actor使用innodb存储引擎,并在last_name字段有二级索引,虽然该索引的列不包括主键actor_id,但也能够用于对actor_id做覆盖查询

mysql> explain select actor_id,last_name from actor where last_name='HOPPER'\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: actor
   partitions: NULL
         type: ref
possible_keys: idx_actor_last_name
          key: idx_actor_last_name
      key_len: 137
          ref: const
         rows: 2
     filtered: 100.00
        Extra: Using index
1 row in set, 1 warning (0.00 sec)

相关文章

  • 覆盖索引

    覆盖索引 基础解释 查看方法 使用条件 优点

  • 覆盖索引

    覆盖索引 覆盖索引(covering index)指一个查询语句的执行只用从索引中就能够取得,不必从数据表中读取。...

  • 覆盖索引

    覆盖索引 1、当发起一个被索引覆盖的查询时,在explain的extra列可以看到using index的信息,此...

  • index pushdown

    表结构 索引覆盖 索引下推

  • 辅助索引种类细分

    单列的辅助索引 联合多列辅助索引(覆盖索引) 唯一索引

  • mysql唯一索引 覆盖索引

    当mysql唯一索引是组合索引时,如果查询条件满足组合索引的覆盖条件,同样将是覆盖索引。 测试:新建表t: 添加唯...

  • MySQL覆盖索引

    MySQL覆盖索引 1.定义: 一个索引包含(或者覆盖)所有需要查询的字段

  • 什么是覆盖索引和回表吗?

    覆盖索引指的是在⼀次查询中,如果⼀个索引包含或者说覆盖所有需要查询的字段的值,我们就称之为覆盖索引,⽽不再需要回表...

  • MySQL索引

    MySQL索引 索引介绍 索引原理与分析 组合索引 索引失效分析 索引介绍 什么是索引索引:包括聚集索引、覆盖索引...

  • 高性能mysql精要

    1、explain 中 extra (using index ) 表示覆盖索引,sql优化中最好能使用覆盖索引,否...

网友评论

      本文标题:覆盖索引

      本文链接:https://www.haomeiwen.com/subject/zitmoktx.html