首页 > 其他 > 详细

回表,索引覆盖,最左匹配

时间:2020-04-23 10:22:35      阅读:82      评论:0      收藏:0      [点我收藏+]

数据库索引

回表

通俗的讲:如果索引的列在select所需获得列中就不需要回表(因为在mysql中索引是根据索引列的值进行排序的,所以索引节点中存在该列中的部分值),如果select所需获得列中有大量的非索引列,索引就需要到表中找到相应的列的信息,这就叫回表。

技术分享图片

索引覆盖

如果一个索引包含(或覆盖)所有需要查询的字段的值,称为‘覆盖索引’。即只需扫描索引而无须回表

覆盖索引必须要存储索引列的值,而哈希索引、空间索引和全文索引不存储索引列的值,所以mysql只能用B-tree索引做覆盖索引。

mysql不能在索引中执行LIke操作。mysql能在索引中做最左前缀匹配的like比较,但是如果是 通配符开头的like查询,存储引擎就 无法做比较匹配。这种情况下mysql只能提取数据行的值而不是索引值来做比较

最左匹配原则

技术分享图片

回表,索引覆盖,最左匹配

原文:https://www.cnblogs.com/gaoyang666/p/12758947.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!