如题,存储引擎是怎么在微块中定位某条数据的,从sql请求的rowkey到microblock中的某一行是用什么方式做的转换?因为rocksdb的方式是直接用key在block内做二分查找,但是ob的数据编码设计支持microblock内部的随机访问,所以好奇这一步是怎么做的。
补充:也就是存储引擎层的row_ids和rowkey是什么关系?
int ObDictDecoder::batch_decode(
const ObColumnDecoderCtx &ctx,
const ObIRowIndex* row_index,
const int64_t *row_ids,
const char **cell_datas,
const int64_t row_cap,
common::ObDatum *datums) const
{
【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【问题现象及影响】
【附件】