最近在存储过程中插入大量数据,调度任务时常应为数据太多生成了重复id导致插入失败。最后了找到了一种还算可以的id生成方式的吧,百万数据几本不出问题。
select --生产id 重复率比较低 可以增量更新
concat(
floor(extract(epoch from(current_timestamp-timestamp '1970-01-01 00:00:00')*1000))
,lpad(row_number()over()::varchar,11,'0')
);
也就是时间戳+唯一行号。要时有更好的方法,欢迎贴出来让我去取取经