2023-06-30
PostgreSQL相对于Oracle的多版本实现方式,有什么优势和劣势?
PostgreSQL相对于OrPostgreSQL相对于Oracle的多版本实现方式,有什么优势和劣势?
我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
PostgreSQL相对于OrPostgreSQL相对于Oracle的多版本实现方式,有什么优势和劣势?
Oracle数据库的多版本功能,与PostgreSQL的实现方式是不一样的。Oracle旧版本的数据并不记录在原先的数据块中,而是被记录在回滚段中,如果要读取旧版本的数据,需要根据回滚段的数据重构旧版本数据。
PostgreSQL多版本机制与Java虚拟机的垃圾回收机制比较相像。事务提交前,只需要访问原来的数据即可;提交后,系统更新元组的存储标识,直到Vaccum进程收回为止。
相对于Oracle,PostgreSQL的多版本优势在于以下两点:
事务回滚可以立即完成,无论事务进行了多少操作。
数据可以进行很多更新,不必像Oracle需要保证回滚段不会被用完;也不会像Oracle那样,经常遇到“ORA-1555”错误的困扰。
相对于Oracle,PostgreSQL的多版本劣势在于以下两点:
旧版本数据需要清理。PostgreSQL清理旧版本称为VACUUM,并提供了VACUUM命令进行清理。
旧版本的数据会导致查询更慢一些,因为旧版本的数据存储于数据文件中,查询时需要扫描更多的数据块。
评论
有用 9
墨值悬赏