如何查询tidb组件的自增列当前分配情况


这个有什么指令可以查到当前tidb节点的自增值处在哪个区间吗,比如我一个集群有四个tidb,想查一下当前各自tidb的自增值分配情况


参考一下这个帖子

貌似没有地方可以看每个 tidb server 所分配到的自增值。

这边是出于什么需求想查这个值呢,一般只要保持隐式插入,就不需要去担心自增键冲突的问题。

不确定这个返回的是节点最大值,还是集群最大值

SHOW TABLE STATUS LIKE 't1';

*************************** 1. row ***************************
           Name: t1
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 5
 Avg_row_length: 16
    Data_length: 80
Max_data_length: 0
   Index_length: 0
      Data_free: 0
 Auto_increment: 30001
    Create_time: 2019-04-19 08:32:06
    Update_time: NULL
     Check_time: NULL
      Collation: utf8mb4_bin
       Checksum:
 Create_options:
        Comment:
1 row in set (0.00 sec)

show create table 会显示当前缓存批次的 max row id
tidb 不是每次申请一个 row id,而是一次申请一批,这一批用完了再拿下一批

可以试试 select last_insert_id(); 这个会返回最近一次插入的 row id