有关批量导入数据的时候,不想每条都取sequence,想在内存批量生成

经验小记:

可以定义一个increment_value值,批量插入数据之前先从数据库取一次sequence,

第一次getNewId,从数据库取sequence,假如取到1,则乘以10increment_value)返回,也就是第一次取到的id10,第二次调用getNewId

就不读数据库了,直接在内存里加1,也就是第二次取的id11,依次累加,到第11次,再读数据库,取到sequence2,然后乘以10,返回20。。。。

其实这里的increment_value就是一个区间段,像缓冲一样,插到数据库里的数据的主键ID和真正的sequence的取值不是一一对应的,明白这点后就好办了.

你可能感兴趣的:(sequence)