批量插入测试数据

Posted angelshelter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量插入测试数据相关的知识,希望对你有一定的参考价值。

方式1

public class Main2 {
    public static void main(String[] args) {
        ApplicationContext context = new FileSystemXmlApplicationContext("classpath:spring.xml");
        SessionFactory sf = (SessionFactory)context.getBean("sessionFactory");
        Session session = sf.openSession();
        String sql = "insert into import_test(name, description, price, create_time) values(\\"白羊座\\", \\"白羊座(Aries),黄道十二星座之第一宫,位于双鱼座之东,金牛座之西,出生日期为阳历3月21日~4月20日。白羊座就像小孩子一样,直率、热情、冲动,但也十分的自我为中心和孩子气。\\", 100, \\"2017-02-28\\")";
        Date start = new Date();
        for(int i=0;i<10000;i++){
            session.createSQLQuery(sql).executeUpdate();
        }
        Date end = new Date();
        System.out.println(end.getTime()-start.getTime());
    }
}

测出来是358066ms,差不多是6分钟。

 

方式2

运行SQL文件。记住选中SET AUTOCOMMIT=0

测出来的时间是0.888s。

一百万条数据用了118.811s。

我觉得第二种是比较快的了,就是写在sql语句,用分号隔开。如果有更快的方式,望分享。

以上是关于批量插入测试数据的主要内容,如果未能解决你的问题,请参考以下文章

mybatis批量插入数据性能测试

批量插入 SqlBulkCopy的测试

百万级数据的批量插入的两种方法测试

批量插入测试数据

Spring Boot 集成 Druid 批量插入数据和效率监控配置

MySQL批量插入数据的四种方案(性能测试对比)