【问题标题】:What RDBMS optimizations can we do for append-only tables? [closed]我们可以对仅附加表进行哪些 RDBMS 优化? [关闭]
【发布时间】:2021-12-04 07:16:37
【问题描述】:

假设我们有一个保存不可变事件的表。此表不支持任何 UPDATE 语句,仅支持 INSERT 和 SELECT。

我可以想象我们可以对此类表进行一些优化,因为永远不会出现在另一个查询读取行时更新行的情况。我们可以设置更松散的事务隔离吗?我们还可以做其他优化吗?

我了解优化可能取决于特定的数据库。在这种情况下,我建议关注 Postgres 和/或 MySQL,因为它们在我的经验中是最常见的。

【问题讨论】:

  • 问题太宽泛了。请缩小一点。你想优化什么?插入性能、查询性能、并发性、负载等。您需要最新的结果,还是 1 小时前的陈旧结果都可以?
  • 索引是什么?其中之一是AUTO_INCREMENT 吗? INSERTs 是否仅在表格的“末尾”? SELECTs 会不会看表的“末尾”?

标签: mysql database postgresql database-design immutability


【解决方案1】:

您可能不需要处理在读取时更新元组,但仍然需要处理未完全插入、完全插入但未提交、或插入但然后回滚,所有这些都在读取时进行。需要正确处理这些问题将极大地限制任何优化范围。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 2010-10-13
    • 2012-07-02
    • 1970-01-01
    相关资源
    最近更新 更多