navicat 批量插入 测试数据
生活随笔
收集整理的這篇文章主要介紹了
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萬數據入庫了
?
###################
2018 12 03 更新
再次用這個 函數 Navicat 運行按鈕 置灰 操作不了 ...
2. 存儲過程
DROP PROCEDURE IF EXISTS proc_initData; DELIMITER $ CREATE PROCEDURE proc_initData() BEGIN DECLARE id INT ; set id=LAST_INSERT_ID()+1; WHILE id<=50000 DO INSERT INTO `xx`.`x_x` (`id`,`keyword`,`red_pkg_id`,`city_ids`,`start_time`,`end_time`) VALUES (id,CONCAT('P0000abcd',id),2,'44,74','2018-11-03 00:00:00','2018-11-03 23:59:00');SET id = id+1; END WHILE; END $CALL proc_initData();?
轉載于:https://www.cnblogs.com/rocky-fang/p/9075700.html
總結
以上是生活随笔為你收集整理的navicat 批量插入 测试数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: @Java | Thread sync
- 下一篇: mysql模式匹配用什么关键字_MYSQ