首页 > 其他分享 >什么是索引下推(ICP)

什么是索引下推(ICP)

时间:2023-01-30 13:35:23浏览次数:37  
标签:10 记录 age 下推 索引 ICP ismale

假设有这么个需求,查询表中“名字第一个字是张,性别男,年龄为10岁的所有记录”。那么,查询语句是这么写的:

mysq> select * from tuser where name like '张 %' and age=10 and ismale=1;

根据前面说的“最左前缀原则”,该语句在搜索索引树的时候,只能匹配到名字第一个字是‘张’的记录(即记录ID3),接下来是怎么处理的呢?当然就是从ID3开始,逐个回表,到主键索引上找出相应的记录,再比对age和ismale这两个字段的值是否符合。

但是!MySQL 5.6引入了索引下推优化,可以在索引遍历过程中,对索引中包含的字段先做判断,过滤掉不符合条件的记录,减少回表字数。

InnoDB 在 (name,age) 二级索引内部就判断了 age 是否等于 10,对于不等于 10 的记录,直接判断并跳过。

标签:10,记录,age,下推,索引,ICP,ismale
From: https://www.cnblogs.com/goPush/p/17075358.html

相关文章

  • mysql索引类型及操作
    一、索引主要类型PRIMARYKEY(主键索引)UNIQUE(唯一索引)INDEX(普通索引)FULLTEXT(全文索引)索引创建的通用语法altertable表名addindex索引名称(数据库字段名称);......
  • nginx索引静态文件
    前言针对nas服务器文件下载或者需要索引一些静态二进制文件的地方,可以利用nginx自带的索引文件功能实现。root/var/www/html;#索引目录autoindexon;autoindex_exact_size......
  • 8.3 SQL Server非聚集索引
    SQLServerNon-ClusteredIndexes(非聚集索引)目录SQLServerNon-ClusteredIndexes(非聚集索引)简介使用SQLServerCREATE[NONCLUSTERED]INDEX创建非聚集索引示例A)使用C......
  • 8.4 SQL Server唯一索引
    SQLServer唯一索引(UniqueIndex)目录SQLServer唯一索引(UniqueIndex)简介示例A)创建包含一列的唯一约束B)创建包含多列的唯一约束SQLServer唯一索引与NULL唯一索引(Uniquei......
  • 8.5 SQL Server包含列索引
    SQLServer索引与包括的列目录SQLServer索引与包括的列简介创建包含列的索引的语法简介本文使用sales.customers表作为示例下面语句在email列创建唯一约束:CREATEU......
  • 8.6 SQL Server筛选索引
    SQLServer筛选索引目录SQLServer筛选索引简介示例筛选索引的优点简介如果使用得当,非聚集索引可以大大提高查询性能。然而,非聚集索引的好处是有代价的:存储和维护。......
  • 8.7 SQL Server计算列上的索引
    SQLServer计算列上的索引目录SQLServer计算列上的索引简介计算列索引的要求简介有如下客户表:查找居住在garry.espinoza的客户:SELECTfirst_name,last......
  • 【MySQL】为什么使用B+树做索引
    【MySQL】为什么使用B+树做索引?索引这个词,相信大多数人已经相当熟悉了,很多人都知道MySQL的索引主要以B+树为主,但是要问到为什么用B+树,恐怕很少有人能把前因后果讲述的很完......
  • python入门之str通用操作/索引/切片
    """通用操作str"""str01="二狗"str02="三叔"#字符串拼接str03=str01+str02#字符串累加str01+=str02print(str01)#重复生成元素print(str01*......
  • 痞子衡职场经验与见闻感悟分享 - 索引
    大家好,我是痞子衡,是正经搞技术的痞子。本系列痞子衡给大家分享的是职场经验与见闻感悟。痞子衡在嵌入式行业也摸打滚爬了不少年,有一些个人经验可以给大家参考。......