批量插入测试数据
方式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语句,用分号隔开。如果有更快的方式,望分享。
posted on 2017-02-28 23:11 angelshelter 阅读(245) 评论(0) 编辑 收藏 举报