【问题标题】:postgres: id auto-increment with millions of rows per day. is it bad?postgres:id 自动递增,每天数百万行。不好吗?
【发布时间】:2018-03-12 18:43:23
【问题描述】:

在我的数据库中,我每天在表中保存数百万行,并在 2 周后删除所有行,因为我不再需要它们了。

我想知道添加主键 id 自动递增是好是坏,否则我会遇到过高的数字。

该表仅包含用户发出命令时的插入,其中包含用户 ID、时间戳和命令等列。所以要添加一个主键,我想我必须添加一个很快就会变得非常高的自动增量。

考虑到插入的数量,我应该避免添加它吗?

【问题讨论】:

    标签: sql database postgresql primary-key auto-increment


    【解决方案1】:

    这还不错,除非它会导致性能问题,并且您有证据表明自动增量是这些问题的根源,这不太可能。

    坦率地说,每天 100 万行是小菜一碟。你会没事的。如果您希望您的方案持续 3 年以上,您应该使用 serial8(64 位)而不是 serial(32 位)。

    【讨论】:

      【解决方案2】:

      Postgres 中的“自动递增”功能由serial 数据类型提供。这些在documentation 中有描述。

      如果您每天插入数百万行,那么我建议您使用bigserial。您不必担心溢出或重置值。

      【讨论】:

      • 我不明白如果在 2 周后删除行时,是否会再次使用自动递增的那些值
      • 自动增量值不再使用。
      猜你喜欢
      • 1970-01-01
      • 2011-03-31
      • 2019-01-22
      • 1970-01-01
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多