tidb中insert一条记录要选择哪个region进行插入?

region 是根据key范围划分的逻辑空间,范围是一个左开右闭的区间,region大小有限制超过最大大小会分裂,数据太小也会合并,造成region的key范围变化,key格式如下:

表每行数据按照如下规则编码成 (Key, Value) 键值对:
Key: tablePrefix{TableID}_recordPrefixSep{RowID}
如t1_r1
Value: [col1, col2, col3, col4]
对于主键和唯一索引,需要根据键值快速定位到对应的 RowID,因此,按照如下规则编码成 (Key, Value) 键值对:
Key: tablePrefix{tableID}_indexPrefixSep{indexID}_indexedColumnsValue 如:t1_i1_key
Value: RowID
普通二级索引,一个键值可能对应多行,需要根据键值范围查询对应的 RowID:
Key: tablePrefix{TableID}_indexPrefixSep{IndexID}indexedColumnsValue{RowID}
如:t1_i1_key_rowid
Value: null