数据库中的二分查找,更为复杂,需要实现一个通用型的二分查找算法,使用于各种不同的SQL查询场景。
InnoDB针对不同的SQL语句,总结出四种不同的Search Mode,分别为:
#define PAGE_CUR_G 1 >查询
#define PAGE_CUR_GE 2 >=,=查询
#define PAGE_CUR_L 3 <查询
#define PAGE_CUR_LE 4 <=查询
然后根据这四种不同的Search Mode,在二分查找碰到相同键值时进行调整。例如:若Search Mode为PAGE_CUR_G或者是PAGE_CUR_LE,则移动low至mid,继续进行二分查找;若Search Mode为PAGE_CUR_GE或者是PAGE_CUR_L,则移动high至mid,继续进行二分查找。
本文介绍了InnoDB存储引擎如何通过四种不同的搜索模式优化二分查找算法,使其更适用于多种SQL查询场景。针对不同的比较运算符(如>、<、=),InnoDB定义了特定的搜索模式,当遇到相同的键值时会调整查找范围,从而提高查询效率。
273

被折叠的 条评论
为什么被折叠?



