首页 >数据库 >mysql教程 >Mysql-索引覆盖

Mysql-索引覆盖

黄舟
黄舟原创
2017-01-20 17:09:131418浏览

索引是一个利于查找的数据结构,而且还缓存在内存中,用索引查找出物理行地址非常快,但是从物理行中提取出(回行)需要的字段值,就会慢一点了。

查询索引是快的,利用索引从物理磁盘中找到要的所有数据(回行)是慢的。

535.png


如上图,索引是usename,如果select的字段有id,username,age..那么得去物理行提取数据;如果select id 那么索引里就存着呢,不用去找啦直接就满足了。

总结:查询的内容正好在索引中就有,不需要回行查找,这种情况叫做索引覆盖


536.png

如果出现了上边Using index 部分,就表示使用了覆盖索引。

innodb引擎在覆盖索引上面更进一步:

innodb引擎的所有储存了主键ID,事务ID,回滚指针,非主键ID,

他的查询就会是非主键ID也可覆盖来取得主键ID。

以上就是Mysql-索引覆盖的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn