【发布时间】:2010-12-10 08:53:04
【问题描述】:
我的应用程序中需要有文本 ID。 例如,我们有可接受的字符集 azAZ09,以及允许的 ID 范围 [aaa] - [cZ9]。首先生成的 id 是 aaa,然后是 aab、aac、aad 等
如何以交易方式返回 ID 并增加下限? (前提是有数百个并发请求并且都应该有正确的结果)
为了降低负载,我想可以定义 20 个单独的范围,并从随机范围返回 id - 这应该可以减少争用,但首先不清楚如何进行单个操作。
另外,请注意范围内的 ID 数量可能超过 2^32。
另一个想法是拥有 64 位整数的范围,并在软件代码中转换整数->char id,这可以异步完成。
有什么想法吗?
【问题讨论】:
-
不能只用整数类型,需要的时候转换一下吗?
-
是的,我可以。这还不能解决任务——我仍然需要允许的范围支持——这意味着通常的自动增量无法完成这项工作。
标签: mysql auto-increment