1

マスターDatabase AとクライアントがDATABASE Bあり、DATABASE C.

Database Aは と を持っauto_increment = 10000ていauto_increment_offset = 10000ます。

クライアントDATABASE BDATABASE CANDを設定し、それぞれを Master とマージする必要がありauto_increment = 10001ます。auto_increment_offset = 10000auto_increment = 10002auto_increment_offset = 10000Database A

私の質問は、上記のクライアントの部分が可能かどうか、可能であれば、競合が発生する割合とそれを回避する方法です。

また、テーブルの自動インクリメントごとに、通常は 1 ずつインクリメントするのではなく、一度に 10000 ずつ増加するため、懸念されるパフォーマンスについて。

4

1 に答える 1

1

インターリーブしないで、別のスペースを与えます。

Database A auto_increment = 10000000 for all tables
Database B auto_increment = 20000000
Database C auto_increment = 30000000

...そして、データベース C の一部をデータベース B とマージするなど、好きなようにします。しかし、データベースあたりの行数が 10000 未満と比較的少なく、これはマスター/スレーブの状況ではないため、競合の可能性はあまりありません。

于 2012-09-26T17:39:15.273 に答える