Run*_*hya 20 mysql postgresql vacuum
我对PostgreSQL比MySQL更熟悉.使用PostgreSQL数据库遇到过环绕ID失败一次,然后了解数据库中吸尘的重要性.实际上,这是一个如此庞大的开销工作(并且它是旧版本的7.4.3,几个月后更新以获得autovacuum).将MySQL与PostgreSQL进行比较时,假设MySQL不必处理PostgreSQL中的真空等开销.这个假设是对的吗?
还有为什么MySQL与PostgreSQL相比不需要真空?对于MySQL dbs,是否存在类似于vacuum的其他优化替代方案?
Cra*_*ger 14
简短版本是InnoDB使用回滚日志,更像是Oracle的设计.主表上仅保留最新版本的行.它必须使用与PostgreSQL相关的函数来管理日志清除,异步/延迟操作VACUUM
.
这意味着需要对更新进行更多写入操作,并且对旧行版本的访问速度要慢很多,但是不需要异步真空,这意味着您不会遇到表格膨胀问题.相反,您可以拥有巨大的回滚段或用尽回滚空间.
所以这是一种权衡,一种具有不同优点和问题的设计.
如果你在谈论MyISAM表,那就完全不同了.PostgreSQL的表格不会占用您的数据.MyISAM会.PostgreSQL的表是事务性的.MyISAM不是.平面文件也不需要VACUUM
,这不是一个好主意.
j.w*_*w.r 13
PostgreSQL的MySQL近似vacuum
是OPTIMIZE TABLE tablename
(MySQL docs).它在MySQL中执行与PostgreSQL类似的功能,根据所使用的存储引擎,它会回收未使用的空间,重新组织索引和表,以及对数据文件进行碎片整理.你应该像vacuum
在PostgreSQL中一样定期运行它.
归档时间: |
|
查看次数: |
13505 次 |
最近记录: |