whx20202
V2EX  ›  数据库

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

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