我正在使用带有mysql数据库的rails web应用程序,我需要为表中的每条记录自动保存10位唯一数字/字母数字。
该表可能包含超过数百万条记录(将来)
要求:
- 应仅从mysql数据库生成10位唯一编号,生成的编号不得少于10位
- 我还提到了mysql的uuid()和uuid_short()方法,这些方法返回一个通用唯一ID,但这些方法返回的数字超过10位。
- 如果生成的唯一数字不是按顺序排列,则会更好(访问其他记录,例如下一个或上一个reocrd)是不可预测的。
醇>
注意:
- 我不认为通过手动生成唯一ID更好(应用一些逻辑,如timestamp,record_id等组合),因为需要额外的查询来检查表中的唯一性。