需要使用BDD在python中生成唯一编号

时间:2017-08-17 14:44:46

标签: python sql optimization

我试图创建一个生成20位随机字符串的脚本。但这些字符串必须是唯一的。

想象一下,我今天生成20000个随机字符串,明天20000个其他字符串,我需要确保我有40000个不同的字符串。

问题是我每天有近700000个连续数据的数据量,并且不知道如何优化它以确保具有竞争时间的唯一序列......

感谢您的帮助。

需要符合此https://ec.europa.eu/health/sites/health/files/files/eudralex/vol-1/reg_2016_161/reg_2016_161_en.pdf

我不能做增量。

3 个答案:

答案 0 :(得分:1)

我同意@ bendl的评论 - 如果你需要它是20位数,你每次需要一个新字符串时可以增加一个值。如果它不必是20位数,我要说看看python的UUID模块:https://docs.python.org/2/library/uuid.html

此模块会创建唯一ID,可能是您正在寻找的内容。祝你好运!

答案 1 :(得分:0)

为确保唯一性,您可以将字符串生成为UUID和时间戳的组合。例如

>>> import uuid
>>> import time
>>> my_string = "{}-{}".format(uuid.uuid4(), time.time())
>>> print my_string

'6cc452ac-5b30-47df-8ea4-7170ec1979b1-1502985399.0055182'

答案 2 :(得分:0)

基本上你需要创建一个新的随机字符串,并确认它在当前列表中不存在(如果你不能检查当前列表,就不能这样做。)

参考https://docs.python.org/3/library/random.html#random.choices

innodb_buffer_pool_size