mysql和postgresql性能测试

免费开源数据库用mysql仍是postgresql一直是讨论的热点,本着求真务实的精神本人用周末休息的机会作了一个简单测试。本次测试仅针对性能,安全性,易用性,可维护性等等均不考虑。将测试过程和结果公布,欢迎拍砖。java

测试环境:阿里云ECS青岛主机最低配那种(CentOS 7.0 64位,1g内存);mysql5.6,postgresql9.5.2,两个数据库均是默认配置,未作任何优化;tomcat8.0.22,spring4.2.5,druid-1.0.17,mysql-connector-java-5.0.8-bin,postgresql-9.4.1208mysql

测试方法:新建测试表,包含三个字段,id主键,col1 varchar,cnt int;druid只开一个链接,未开启事务,使用jdbctemplate循环插入,而后全表查询;spring

@Service
public class TestMysqlService {
    @Resource(name = "testMysqlDao")
    private TestMysqlDao dao;

    public void ins(Integer loop){
        TestEntity entity = new TestEntity();
        for (int i=0;i<loop;i++){
            entity.setCol1("测试");
            entity.setCnt(i);
            dao.ins(entity);
        }
    }

    public void query(){
        dao.query();
    }
}

public class TestMysqlDao extends NamedParameterJdbcTemplate {

    public TestMysqlDao(DataSource dataSource) {
        super(dataSource);
    }

    public void ins(TestEntity entity){
        update("insert into t_test(col1,cnt) values (:col1,:cnt)",
                new BeanPropertySqlParameterSource(entity));
    }

    public void query(){
        queryForList("select * from t_test",new HashMap());
    }
}

测试结果:sql

插入1万条记录耗时(毫秒)数据库


mysql5.6 postgresql9.5.2
第一次 47398 17499
第二次 48268 20290
第三次 49472 17236

查询3万条记录tomcat


mysql5.6 postgresql9.5.2
第一次 68 51
第二次 67 92
第三次 51 46

我还作过插入10万条记录的测试,基本是上面放大10倍的结果。之前没有接触过pg,这个测试结果仍是让我吃惊不小。pg的写入操做几乎是mysql的3倍。看来之后作项目pg是首选的数据库安全

相关文章
相关标签/搜索