许多索引方法都传递一个名为*关键
以标准格式标识要读取的索引项。您的存储引擎将需要提取存储在键中的信息,并将其转换为其内部索引格式,以识别与索引关联的行。
键中的信息是通过遍历键获得的,键的格式与中的定义相同表- > key_info(指数)- > key_part [part_num]
.
与键一起传递的还有处理程序方法keypart_map
参数来指示键的哪些部分出现在关键
参数。keypart_map
是一个ulonglong
位图,每个关键部分1位:1keypart [0]
, 2为keypart [1]
, 4分keypart [2]
等等。如果有一点keypart_map
时,此键部分的值将出现在键缓冲区中。最后一个关键部件后面的位并不重要,所以~0可以用于所有关键部件。目前只支持关键字前缀。也就是说,Assert ((keypart_map + 1) & keypart_map == 0)
.
一个keypart_map
是key_range
结构records_in_range ()
,以及keypart_map
值直接传递给index_read ()
,index_read_idx ()
,index_read_last ()
方法。
年长的处理者有一个key_len
参数代替keypart_map
.的key_len
值为a使用uint
按前缀匹配时,表示前缀长度。