私たちにはデータベースがあり、サービスから注文を受けるたびにテーブルにデータを挿入します。
auto_increment
を使用してIDを生成し、それを使用して注文を割り当てます。これは通常どこでも同じです。
しかし、問題は、この情報がサードパーティベンダーに渡されるため、1日あたりの注文数を追跡できることです。早朝にリクエストを送信し、深夜に別のリクエストを送信して、ID
の違いをカウントします。
これは私たちのサービスの洞察情報を与えています。やや複雑なシステムなので、これをランダム化するような複雑な操作はできません。
私の最初のアイデアは、ビットランダムな方法でauto_increment
番号を生成することです。
1,2,3,4,5,67,68,69,70,71,133,134,135,136,137,189,190,191,192,193,194
Mysqlがキャッシュを使い果たし、乱数を追加して次のシーケンスを生成するので、それは単純なはずです。
パフォーマンスに影響を与えずにこれを実現するにはどうすればよいですか?
Rick Jamesによる、mysqlでランダムな一意のIDを生成するメソッドの概要は次のとおりです。 http://forums.mysql.com/read.php?24,425424,425491
概要は非常に包括的であり、5つの異なる戦略を示し、すべての長所と短所をリストします。