索引下推
索引下推的下推其实就是指将部分上层(服务层)负责的事情,交给了下层(引擎层)去处理。
我们来具体看一下,在没有使用ICP的情况下,MySQL的查询:
1、存储引擎读取索引记录;
2、根据索引中的主键值,定位并读取完整的行记录;
3、存储引擎把记录交给Server层去检测该记录是否满足WHERE条件。
使用ICP的情况下,查询过程:
1、存储引擎读取索引记录(不是完整的行记录);
2、判断WHERE条件部分能否用索引中的列来做检查,条件不满足,则处理下一行索引记录;
3、条件满足,使用索引中的主键去定位并读取完整的行记录(就是所谓的回表);
4、存储引擎把记录交给Server层,Server层检测该记录是否满足WHERE条件的其余部分。
下一篇:SQL语句
相关文章
-
binlog存放的内容是什么
Binlog(Binary Log)是MySQL中记录数据库中所有DDl语句DML语句的二进制日志文件,主要用于记录对数据库执行的更改操作(例如INSERT、UPDATE、DELETE等)。
NEW个对象 2024-10-13
-
索引下推
索引下推的下推其实就是指将部分上层(服务层)负责的事情,交给了下层(引擎层)去处理。
NEW个对象 2024-12-17
-
MySQL索引:聚集索引、非聚集索引、联合索引、回表、索引覆盖
MySQL索引:聚集索引、非聚集索引、联合索引、回表、索引覆盖
NEW个对象 2024-10-03