V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
whx20202
V2EX  ›  数据库

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

  •  
  •   whx20202 · 2017-10-30 10:33:12 +08:00 · 1657 次点击
    这是一个创建于 2584 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我理解 psql 表膨胀的简单原理,就是事务会话中,保持了一个数据的历史版本,如果长时间不终止的话,auto_vacuum 判断 ID 大小关系,不去删除它,就会造成膨胀

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