AI列与Percona XtraDB Cluster的值存在差距

时间:2013-07-29 05:20:34

标签: mysql innodb deadlock percona

我们正在运行Percona XtraDB群集,群集中有4台计算机。我注意到我们的主键列是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有差距吗?我觉得这不应该发生。

1 个答案:

答案 0 :(得分:1)

InnoDB的这种行为绝对没问题,无需担心。作为InnoDB的一个分支,xtradb最有可能使用auto_increment处理算法而不是InnoDB。它的设计来自(不完全确定)5.1.x,以便在InnoDB中进行某些操作(如INSERT ON DUPLICATE KEY UPDATE操作时)实现更高的并发性。

您可以在文档中找到有关此主题的更多信息:AUTO_INCREMENT Handling in InnoDB