mysql,Postgresql,oracle区别

数据结构不同

mysql:索引组织表,读快写慢,适用于读多写少
Postgresql:堆组织表,读慢写快,适用于读少写多
oracle:索引组织表和堆组织表都支持。

mvcc机制不同

mysql和oracle:写新数据时,把原数据移到一个单独的位置,如回滚段中,其他用户读数据时,从回滚段中把原数据读出来。
pg:写新数据时,原数据不删除,而是把新数据插入进来。

相对于InnoDB和Oracle,PostgreSQL的多版本的优势在于以下几点:
·事务回滚可以立即完成,无论事务进行了多少操作。
·数据可以进行很多更新,不必像Oracle和InnoDB那样需要经常保证回滚段不会被用完,也不会像Oracle数据库那样,经常遇到“ORA-1555”错误的困扰。

相对于InnoDB和Oracle,PostgreSQL的多版本的劣势在于以下几点:
·旧版本数据需要清理。PostgreSQL清理旧版本称为VACUUM,并提供了VACUUM命令进行清理。
·旧版本的数据会导致查询更慢一些,因为旧版本的数据存储于数据文件中,查询时需要扫描更多的数据块。


存储设备不同

PostgreSQL数据库目前不支持使用裸设备和块设备,所以PostgreSQL数据库的表中的数据总是存储在一个或多个物理的数据文件中。

mysql,oracle支持

mysql 的 innodb 存储引擎不仅可以缓存索引,而且还可以缓存数据,如果将其表和索引存储在裸设备(raw device)上,从而绕过了文件系统的高速缓存和缓冲器而直接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值