whx20202
V2EX  ›  数据库

为什么一说表膨胀都是 psql?

  •  
  •   whx20202 · Oct 30, 2017 · 2623 views
    This topic created in 3296 days ago, the information mentioned may be changed or developed.
    我理解 psql 表膨胀的简单原理,就是事务会话中,保持了一个数据的历史版本,如果长时间不终止的话,auto_vacuum 判断 ID 大小关系,不去删除它,就会造成膨胀

    那么 mysql 为啥没听说这个内容呢,innodb 也有事务支持
    4 replies  •  2017-10-30 18:25:06 +08:00
    julyclyde
    julyclyde
    Oct 30, 2017
    1
    innodb 也有类似的问题,表空间文件只会单向变大
    zxiso
    zxiso
    Oct 30, 2017 via Android
    2
    听说是因为 pg 的 mvcc 导致的。mysql 的 innodb 的这个机制实现似乎思路不一样,然后最后能达到的小伙以及映像也不同了
    wanganjun
    wanganjun
    Oct 30, 2017
    3
    [PgSQL · 答疑解惑 · 表膨胀]( http://mysql.taobao.org/monthly/2015/12/07/)
    看了一篇文章,感觉挺有道理的,但是里面的例子好像没用
    whx20202
    whx20202
    OP
    Oct 30, 2017
    4
    我看德哥的文章,还有另外一个人的文章
    9.6psql 支持 删除太老的 snapshot,
    另外没用 9.6 也可以有 transaction timeout
    只是想知道 innodb 怎么处理
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1676 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 13:23 · PVG 21:23 · LAX 05:23 · JFK 08:23
    ♥ Do have faith in what you're doing.