0

クラスター内の 4 台のマシンで Percona XtraDB クラスターを実行しています。AUTO_INCREMENT 列である主キー列に乱数のギャップがあることに気付きました。例えば:

id  created_at  title   artist  album
1   1375074427  Night Train Jason Aldean    NULL
5   1375074429  Open Arms   JOURNEY NULL
9   1375074429  LIFT ME UP  FIVE FINGER DEATH PUNCH NULL
12  1375074430  Into the Mystic Van Morrison    NULL
16  1375074430  MARY JANES LAST DANCE   TOM PETTY   NULL
20  1375074430  EVERLONG    FOO FIGHTERS    NULL
21  1375074433  THE ZOO SCORPIONS   NULL
25  1375074433  (Don't Fear) The Reaper Blue Oyster Cult    NULL
28  1375074437  Mambo Italiano  Rosemary Clooney    The Big Night
32  1375074437  HOLY GRAIL  JAY Z / JUSTIN TIMBERLAKE   NULL
36  1375074437  REAL WORLD  MATCHBOX 20 NULL
37  1375074438  Smile   Uncle Kracker   NULL
41  1375074443  SOMEONE LIKE YOU    ADELE   NULL
45  1375074444  STAY    RIHANNA FT MIKKY EKKO   NULL
49  1375074444  Turn Your Radio On  The Statler Brothers    Today's Gospel Favorites
52  1375074444  Hold The Line   Toto    NULL
56  1375074444  Reach For The Sky   Firehouse   NULL
57  1375074448  Through Glass   Stone Sour  NULL
61  1375074448  Through Glass   Stone Sour  NULL
65  1375074448  Love%20On%20Top Beyonc%E9   4%20(Deluxe%20Edition)

なぜこれが起こっているのか、私は興味があります。私たちのマシンで有効になっているinnodb_locks_unsafe_for_binlogオプションについて読んでいますが、それと関係があると感じています。しかし、私はこれが大丈夫であることを確認したい.

ランダムなデッドロックが発生しています。私が読んだ内容からデッドロックを防ぐのに役立つと思われるため、この構成項目を原因として排除したいと考えています。

このように PK にギャップがあるのは悪いことですか? そんなことがあってはならない気がします。

4

1 に答える 1

1

InnoDB のこの動作はまったく問題なく、心配する必要はありません。InnoDB のフォークとして、xtradb は InnoDB よりもおそらく auto_increment 処理アルゴリズムを使用します。INSERT ON DUPLICATE KEY UPDATEInnoDBでの操作などの特定の操作を実行しながら、より高い同時実行性を可能にするために(正確にはわかりませんが)5.1.xから設計されました。

このトピックの詳細については、次のドキュメントを参照してください: AUTO_INCREMENT InnoDB での処理

于 2013-07-29T07:45:04.627 に答える