【问题标题】:AI column has gaps in values with Percona XtraDB ClusterAI 列与 Percona XtraDB Cluster 的值存在差距
【发布时间】:2013-07-29 05:20:34
【问题描述】:

我们正在运行 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有差距不好吗?我觉得这不应该发生。

【问题讨论】:

  • 不,一点也不差。这真的没什么好担心的。

标签: mysql innodb deadlock percona


【解决方案1】:

InnoDB 的这种行为非常好,无需担心。作为 InnoDB 的一个分支,xtradb 最有可能使用 auto_increment 处理算法而不是 InnoDB。它是从(不完全确定)5.1.x 开始设计的,以允许更高的并发性,同时在 InnoDB 中执行某些操作(如 INSERT ON DUPLICATE KEY UPDATE 操作)。

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

【讨论】:

  • 非常感谢。我们实际上发现了导致我们死锁的原因,而这确实不是它。
猜你喜欢
  • 1970-01-01
  • 2018-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多