PostgreSQL、MsSQL、Oracle简单性能⽐较
由于版权关系,最近对PostgreSQL⽐较感兴趣,但⽹上有说PostgreSQL性能不⾼,所以⾃⼰做了个简单的⽐较。
公共环境:
1. CPU双核1.5,2G内存。
2. WindowsXP
软件版本:
MsSQLServer2000,PostgresSQL8.3.3 for Windows,Oracle817 for Windows都是默认配置。
测试表:
建⽴⼀个简单的表,只有⼀个可变长度字符串字段,并设置为主键。
访问接⼝:
1.Vs2008开发的Windows程序。
2.SqlServer使⽤System.Data.SqlClient访问。
3.PostgreSQL使⽤Npgsql2.0.1访问,⼀个开源的Ado实现。
4.Oracle使⽤System.Data.OracleClient。
Insert测试:
1.插⼊2万条随机Guid字符串,隐式事务,每插⼊⼀条后⾃动提交:
结果: SqlServer: 15s
PostgreSQL:30s
Oracle: 44s
2.插⼊2万条随机Guid字符串,显⽰事务,在所有插⼊完成后⼀次Commit:
结果: SqlServer: 4s
PostgreSQL:6s数据库简单吗
Oracle: 16s
CPU占⽤率都不⾼,差不多都10%左右。
Select测试:
上述表在10万⾏时,查⼀条记录执⾏100次(每次sql语句不⼀样):
结果:SqlServer: 22ms
PostgreSQL:50ms
Oracle: 60ms
结论:
1. 根据上⾯的插⼊测试,性能顺序从⾼到低:SQLServer2000、PostgreSQL833、Oracle817。听说PostgreSQL在Linux上有更佳表现,以前PostgreSQL是没有原⽣Win版本的,只是8x开始才在Win上编译。
2. ⼀个没想到的问题是Oracle817为何表现这么差(最近项⽬⽤到,本机正好安装了这个版本),不会
是需要调优?也许是Oracle817发⾏较早吧(1998年),但MsSQL2000也是2000年发布的呀,只有PostgreSQL8.33是2008年新版本。
2. PostgreSQL是免费的且⽀持⼤多数OS,具有企业数据库的所有特性,就我多年软件开发经验来看,从性能上讲,可以满⾜⼀⼤半项⽬需要,⽽⽆须购买商业数据库。这⼏天公司准备投标⼀个项⽬,询问Oracle数据库价格,标准版、企业版,并发数、cpu数,价格少说⼏万,多的⼏⼗万,其实就这个项⽬的数据量PostgreSQL⾜矣!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论