为什么truncate也会创建region

PD 调度策略最佳实践
里有这么一段解释了不会合并 Truncate 这类操作导致的空 Region

创建过大量表后(包括执行 Truncate Table 操作)又清空了。此时如果开启了 split table 特性,这些空 Region 是无法合并的,此时需要调整以下参数关闭这个特性:

  • TiKV: 将 split-region-on-table 设为 false ,该参数不支持动态修改。
  • PD: 使用 PD Control,根据集群情况选择性地设置以下参数。
  • 如果集群中不存在 TiDB 实例,将 key-type 的值设置为 rawtxn 。此时,无论 enable-cross-table-merge 设置如何,PD 均可以跨表合并 Region。该参数支持动态修改。
    config set key-type txn
  • 如果集群中存在 TiDB 实例,将 key-type 的值设置为 table 。此时将 enable-cross-table-merge 设置为 true ,可以使 PD 跨表合并 Region。该参数支持动态修改。
config set enable-cross-table-merge true

但是在tikv里面region不允许有间隙,也就是说不管region是不是空region它们都是连续的,那像truncate这种操作导致的空regioin,已经与truncate之前的表没有关系了,它还有没有范围的,后面操作出现的key如果在这个范围内,是否会存入这个空 Region 中并与相关的表做关联呢?