索引是一个利于查找的数据结构,而且还缓存在内存中,用索引查找出物理行地址非常快,但是从物理行中提取出(回行)需要的字段值,就会慢一点了。
查询索引是快的,利用索引从物理磁盘中找到要的所有数据(回行)是慢的。
如上图,索引是usename,如果select的字段有id,username,age..那么得去物理行提取数据;如果select id 那么索引里就存着呢,不用去找啦直接就满足了。
总结:查询的内容正好在索引中就有,不需要回行查找,这种情况叫做索引覆盖
如果出现了上边Using index 部分,就表示使用了覆盖索引。
innodb引擎在覆盖索引上面更进一步:
innodb引擎的所有储存了主键ID,事务ID,回滚指针,非主键ID,
他的查询就会是非主键ID也可覆盖来取得主键ID。
以上就是Mysql-索引覆盖的内容,更多相关内容请关注PHP中文网(www.php.cn)!