0

我有一个场景,我需要生成以下格式的批号(主键)。

批号: ( XX ) ( XXXXX ) 位置顺序

         Eg:   0100001
               0100002
               0200001
               0100003
               0200002
               .......

每个批次的序列从 00001 开始。但是,我们不能有一个序列号生成器来执行此操作。我脑海中可能的解决方案是:

  1. 创建一个包含数字的额外表。但是有可能多个用户获得相同的序列,因为可能存在未提交的事务。
  2. 每次保存实体时,我们都会从该列中获取 max(substring(batchnum,2)) 并添加 +1。但这会对性能造成非常巨大的过载,并且还会出现多个用户获得相同序列的问题。
4

0 回答 0