TiDB如何获取所有空region的region id

从监控软件grafana查看pd中显示的空region有87个,不知道如何查询这些空region对应的region id。想查找出来后看看能不能手工合并一下。

image

可以参考文档,https://docs.pingcap.com/zh/tidb/stable/pd-scheduling-best-practices#region-merge-速度慢

先调整下面参数

pd-ctl config set max-merge-region-size 1
pd-ctl config set max-merge-region-keys 1

如果还是不行,再调整 split-region-on-table 等开启跨表 region merge 看看能否自动合并

手工合并可以 region check empty-region 查出这些空 region
https://docs.pingcap.com/zh/tidb/stable/pd-control#region-check-miss-peer--extra-peer--down-peer--pending-peer--offline-peer--empty-region--hist-size--hist-keys

pd-ctl config set max-merge-region-size 1
pd-ctl config set max-merge-region-keys 1
你好,这两个值不是越大越容易让region进行合并吗?如果调小了是不是更不去合并了。
我现在的参数设置是:
“max-merge-region-keys”: 10000,
“max-merge-region-size”: 8,
“merge-schedule-limit”: 20,
安装你说的region check empty-region查出来了好多region,然后查了几个region id是这样的:

查看都是系统库mysql下面的,有的空region id查不出对应的表是什么原因?
如果是系统表对应空region也只能这样了是吧,按说系统表的不应该显示出来吧?
一个region不能存放多个表吧?

你想知道的原因在这:

  • empty-region-count :空 Region 的数量,一般是 TRUNCATE TABLE / DROP TABLE 语句导致。如果数量较多,可以考虑开启跨表 Region merge。

region和表无关阿(表的关系均在PD 中),然后只和数据的划分有关系