wordpress点击文章跳转外站,建设银行招生网站,企业查天眼查在线,珠海溢动网络科技有限公司作为优化器后的真正执行语句的层#xff0c;执行器有三种方式和存储引擎#xff08;一般是innoDB#xff09;交互
主键索引查询 查询的条件用到了主键#xff0c;这个是全表唯一的#xff0c;优化器会选择const类型来查询#xff0c;然后while循环去根据主键索引的B树结…作为优化器后的真正执行语句的层执行器有三种方式和存储引擎一般是innoDB交互
主键索引查询 查询的条件用到了主键这个是全表唯一的优化器会选择const类型来查询然后while循环去根据主键索引的B树结构一条一条的查询是否符合条件符合就发给客户端不符合就跳过该条记录。是一条一条的发送回server层的只不过server要等到全部查询结束才会返还用户。第一次查询会调用read_first_record来查询后续while循环调用read_record继续查询全表扫描 没有任何索引能用那么优化器会选ALL类型的查询同理read_first_record然后while调用read_record一条一条查询是否符合条件符合就发回server层反之跳过继续查询索引下推 能够减少回表次数提升查询效率因为其将server层负责的事情下推到存储引擎层来处理了尽管仍然没法完全发挥联合索引的功效下面这个定位到age20后1、正常来讲要在二级索引B树定位到age20的第一条记录后根据主键id去回表将完整一行记录返回server层然后在server层判断reward是否100000成立则发回客户端否则跳过记录让存储引擎继续查2、但是现在有索引下推了在定位到第一条记录后直接让存储引擎判断reward100000不成立的话回表然后发送数据给server层否则直接跳过。优化器会采取Using index condition类型代表使用了索引下推。