如何创建日期维度的Sequence

【TiDB 版本】
5.7.25-TiDB-v4.0.0
【问题描述】
我们在使用的时候需要用到场景是基于每天实现一个Sequence,以前我们用的是一个Mysql表,然后使用自定义的next_seq函数实现sequence的操作。但是现在我们发现在TiDB只提供了一个sequences的操作,但是我们的Sequence总数可能在几万个(自动插入10年内的Sequence),这样大量使用CREATE SEQUENCE seq_yyyyMMdd不知道合不合理。

  1. 你的意思是这张表需要每天创建一个 sequence?
  2. 这些 sequence 是给不同表使用吗?
  3. 因为 sequence 和 table 是同一个级别的对象,所以一个库里可能会看起来像是有很多个表,是这个意思吗?
    image

image
是的,这是我现在mysql里的解决方案,就是我要保障每天都有一个自己独一无二的sequence,同时为了效率
所以其实是提前把20年的seq记录插入到表里去了。

从使用限制来看,应该没有问题。

https://docs.pingcap.com/zh/tidb/stable/tidb-limitations#使用限制

可以考虑使用 twitter snowflake,baidu uid-generator,meituan leaf 生成 UID