navicat 批量插入 测试数据

1. 前言

遇到线上大sql执行较慢, 10s+, 做优化改进时,首先想到的是在本地造出一个类似的库环境,先本地实验。

然后往表中创建大量数据...

2. 方案

利用mysql函数来插入大量数据

代码

BEGIN
    #Routine body goes here...
DECLARE id int; 
DECLARE driverid int; 
DECLARE baseid int;
set id=LAST_INSERT_ID()+1;
WHILE id<1700000 DO
set driverid=RAND()*67890;
set baseid=RAND()*1000;
INSERT INTO `xxl`.`car_xx` (`id`, `driver_id`, `driver_phone`, `driver_name`, `order_no`, `created_time`, `car_group`, `service_type`, `numprize_base_id`, `order_amount`, `updated_time`, `order_praise`, `order_doubt`, `order_risk`) VALUES (id, driverid, '15801050217', '孔师傅', CONCAT('P00000000',id), '2017-10-28 20:21:54', '34', '1', baseid, '11.00', '2017-10-28 20:21:54', '1', '0', '0');

SET id=id+1;
END
WHILE;

RETURN id;
END

执行遇到

然后做了清空测试表的操作。

再执行,系统负载如下

结果

再看表 ,170万数据入库了

猜你喜欢

转载自www.cnblogs.com/rocky-fang/p/9075700.html
今日推荐