生产出现failed to read auto_random value from storage engine

不是吧

AUTO_RANDOM_BASE是用于生成随机数列的基数,应该是当前自增的初始值了

auto_random 是 TiDB 中的一个特殊列类型,用于生成自增的随机数。在 TiDB 中,auto_random 的值是由时间戳和递增值组成的,其中时间戳的位数由 S 参数决定,递增值的位数由 R 参数决定。S 参数表示时间戳的位数,R 参数表示递增值的位数。SR 参数的值越大,生成的随机数的范围就越大,可以生成更多的随机数。

在 TiDB 中,auto_random 的值是由 TiDB 自动分配的,不需要手动插入。当插入数据时,如果没有指定 auto_random 的值,TiDB 会自动为该列分配一个随机数。如果出现 failed to read auto_random value from storage engine 的错误,可能是由于 auto_random 的值超出了范围,或者 auto_random 的值已经被耗尽,无法再分配新的随机数。

根据您的描述,表已经插入不了值了,可能是由于 auto_random 的值已经被耗尽,无法再分配新的随机数。此时,可以尝试调整 SR 参数的值,以扩大生成随机数的范围,从而避免 auto_random 的值被耗尽。具体来说,可以将 SR 参数的值增大,例如将 S 参数的值增大到 6,将 R 参数的值增大到 64,以扩大生成随机数的范围。

需要注意的是,调整 SR 参数的值可能会影响表的性能和存储空间。SR 参数的值越大,生成的随机数的范围就越大,但是也会占用更多的存储空间。因此,在调整 SR 参数的值时,需要综合考虑表的性能和存储空间的需求。

看上去你的资源不多,且混布,在资源不太够的情况下,需要自己做取舍!

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。