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是首選的數據庫安全

相關文章
相關標籤/搜索