zoukankan      html  css  js  c++  java
  • 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.net实现。
    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足矣!
  • 相关阅读:
    Unity做AR
    Linux怎么安装vim编译器
    Linux命令之tar
    Linux命令之ln
    Linux命令之grep
    Linux命令之less
    Linux命令之cd
    Linux命令之ll
    Linux命令之cp
    Linux命令之rm
  • 原文地址:https://www.cnblogs.com/81/p/1348896.html
Copyright © 2011-2022 走看看