批量插入测试数据

方式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。

时间: 2024-10-16 03:23:41

批量插入测试数据的相关文章

mysql循环批量插入测试数据

DELIMITER 其实就是定义了一个语句执行的结束符 MySql中的delimiter: http://blog.sina.com.cn/s/blog_4c197d420101d3oa.html 1:定义存储过程 DROP PROCEDURE test_insert ; DELIMITER $$ //定义结束符 CREATE PROCEDURE test_insert()     BEGIN      DECLARE i INT DEFAULT 0;      START TRANSACTIO

Oracle 存储过程 批量插入测试数据

有时候需要做DB的效率测试时,需要模拟大量数据.可以根据一条原始数据,通过执行存储过程拷贝出大量数据: CREATE OR REPLACE PROCEDURE proc_msw_strsql IS i INT; BEGIN i :=1; WHILE i<=100000 LOOP INSERT INTO REP_DATAF_07_0 (SELECT REP_DATAF_07_ITEMID_SEQ.nextval AS PKID, ORGAN_ID, REPORT_ID, ITEM_ID, REPO

Django-choices字段值对应关系(性别)-MTV与MVC科普-Ajax发json格式与文件格式数据-contentType格式-Ajax搭配sweetalert实现删除确认弹窗-自定义分页器-批量插入-07

目录 models 字段补充 choices 参数/字段(用的很多) MTV与MVC模型 科普 Ajax 发送 GET.POST 请求的几种常见方式 用 Ajax 做一个小案例 准备工作 动手用 Ajax 实现效果 contentType 前后端传输数据编码格式 ajax 提交数据 ajax发 json 格式数据 ajax 传文件 序列化组件 利用 sweetalert 搭建页面(弹窗) 弹窗中文支持不太好,手动修改样式 页面数据没刷新的问题 自定义分页器 批量插入测试数据 bulk_creat

向mysql中批量插入数据的性能分析

MYSQL批量插入数据库实现语句性能分析 假定我们的表结构如下 代码如下   CREATE TABLE example (example_id INT NOT NULL,name VARCHAR( 50 ) NOT NULL,value VARCHAR( 50 ) NOT NULL,other_value VARCHAR( 50 ) NOT NULL) 通常情况下单条插入的sql语句我们会这么写: 代码如下   INSERT INTO example(example_id, name, valu

一个简单的存储过程(批量插入数据)

开发时总会需要批量插入一些测试数据,而批量又执行太慢. CREATE OR REPLACE PROCEDURE "INSERTTESTDATA1" AS P_I          NUMBER;P_NUM  NUMBER := 120160000550000;    //以此数开始每次加1,循环2000000次 BEGIN  FOR P_I   IN 1 .. 2000000  LOOP   P_NUM := P_NUM +1; INSERT INTO      APPLY_MAIN_

Hibernate批处理操作优化 (批量插入、更新与删除)

问题描述 我开发的网站加了个新功能:需要在线上处理表数据的批量合并和更新,昨天下午发布上线,执行该功能后,服务器的load突然增高,变化曲线异常,SA教育了我一番,让我尽快处理,将CPU负载降低. 工作所需,我经常要写些程序批量处理数据,每次执行几十万数据处理的时候,我机子的CPU都会飙高,而且数据处理速度会越来越慢.比如第一个1W条要5分钟,第二个1W条就要10分钟,要干其他事情的时候机子也卡的不行,只能等着处理完数据. 其实我一直认为是数据量太大,从来不认为是程序问题,所以一直没怎么关注过.

MYSQL批量插入数据库实现语句性能分析

假定我们的表结构如下 代码如下   CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( 50 ) NOT NULL, value VARCHAR( 50 ) NOT NULL, other_value VARCHAR( 50 ) NOT NULL ) 通常情况下单条插入的sql语句我们会这么写: 代码如下   INSERT INTO example (example_id, name, value, other_value)

Mysql慢查询开启和查看 ,存储过程批量插入1000万条记录进行慢查询测试

首先登陆进入Mysql命令行  执行sql      show variables like 'slow_query%';  结果为OFF 说明还未开启慢查询 执行sql     show variables like 'long_query_time';  可以看到具体的慢查询 ""时限" 我们先开启慢查询 执行sql set global slow_query_log='ON'; 这是再去查询一下(show variables like 'slow_query%';)发现

Hive/Impala批量插入数据

问题描述 现有几千条数据,需要插入到对应的Hive/Impala表中.安排给了一个同事做,但是等了好久,反馈还没有插入完成--看到他的做法是:对每条数据进行处理转换为对应的insert语句,但是,实际执行起来,速度很慢,每条数据都要耗时1s左右.比在MySQL中批量插入数据慢多了,因而抱怨Impala不太好用 问题分析 首先,必须明确的是,把每条数据处理成insert语句的方式,肯定是最低效的,不管是在MySQL中,还是在分布式组件Hive.Impala中. 这种方式的资源消耗,更多的花在了连接