Mysql-索引覆盖
程序员文章站
2022-04-25 23:16:42
...
索引是一个利于查找的数据结构,而且还缓存在内存中,用索引查找出物理行地址非常快,但是从物理行中提取出(回行)需要的字段值,就会慢一点了。
查询索引是快的,利用索引从物理磁盘中找到要的所有数据(回行)是慢的。
如上图,索引是usename,如果select的字段有id,username,age..那么得去物理行提取数据;如果select id 那么索引里就存着呢,不用去找啦直接就满足了。
总结:查询的内容正好在索引中就有,不需要回行查找,这种情况叫做索引覆盖
如果出现了上边Using index 部分,就表示使用了覆盖索引。
innodb引擎在覆盖索引上面更进一步:
innodb引擎的所有储存了主键ID,事务ID,回滚指针,非主键ID,
他的查询就会是非主键ID也可覆盖来取得主键ID。
以上就是Mysql-索引覆盖的内容,更多相关内容请关注PHP中文网(www.php.cn)!
推荐阅读
-
演示一个带有全文索引表的分区交换例子
-
mysql 全文索引实例介绍
-
Python网络安全格式字符串漏洞任意地址覆盖大数字详解
-
Oracle 索引的可见与隐藏(visible/invisible)
-
使用php记录用户通过搜索引擎进网站的关键词_PHP
-
手把手教你做关键词匹配项目(搜索引擎)---- 第二十一天,教你做第二十一天_PHP教程
-
MySQL中什么是禁用唯一性检查?唯一性检查,唯一性约束条件,唯一性索引之间的区别是什么?
-
从URL静态化与动态化之争谈搜索引擎优化技术(SEO)的学习
-
MySQL创建索引抛出“required more than 'innodb_online_alter__MySQL
-
mysql-如何用JSTL JDBC MYSQL 实现增删查改?