帮忙么网 > MySQL > 当前页面

索引下推

2024-12-17 NEW个对象

索引下推的下推其实就是指将部分上层(服务层)负责的事情,交给了下层(引擎层)去处理。


我们来具体看一下,在没有使用ICP的情况下,MySQL的查询:


1、存储引擎读取索引记录;

2、根据索引中的主键值,定位并读取完整的行记录;

3、存储引擎把记录交给Server层去检测该记录是否满足WHERE条件。


使用ICP的情况下,查询过程:


1、存储引擎读取索引记录(不是完整的行记录);

2、判断WHERE条件部分能否用索引中的列来做检查,条件不满足,则处理下一行索引记录;

3、条件满足,使用索引中的主键去定位并读取完整的行记录(就是所谓的回表);

4、存储引擎把记录交给Server层,Server层检测该记录是否满足WHERE条件的其余部分。

相关文章

  • 什么是脏读、幻读、不可重复读的?

    脏读:读到其它事务没有提交的数据 不可重复读:能够读到其它事务已经提交的数据,在事务第二次读取数据的时候,前后不一致。 脏读:当一个事务insert数据之后,当前事务读取的条数不一致

    NEW个对象 2025-01-10

  • 索引下推

    索引下推的下推其实就是指将部分上层(服务层)负责的事情,交给了下层(引擎层)去处理。

    NEW个对象 2024-12-17

  • SQL基础知识

    SQL基础知识

    NEW个对象 2025-01-13

推荐文章