標籤:
如題
1.100W條資料的插入,定義WHILE迴圈從1-100W,insert語句執行100W次,從晚上11點跑到第二天早上10點,共耗時11小時!!!
1 DELIMITER $$ 2 3 DROP PROCEDURE IF EXISTS `Havefun`.`create_100w_data` $$ 4 5 CREATE 6 /*[DEFINER = { user | CURRENT_USER }]*/ 7 PROCEDURE `Havefun`.`create_100w_data`() 8 /*LANGUAGE SQL 9 | [NOT] DETERMINISTIC10 | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }11 | SQL SECURITY { DEFINER | INVOKER }12 | COMMENT ‘string‘*/13 BEGIN14 DECLARE i INT;15 DROP TABLE IF EXISTS `Havefun`.`100w_data`;16 CREATE TABLE `100w_data` (17 `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT ‘主ID‘,18 `name` CHAR(20) NOT NULL DEFAULT ‘‘ COMMENT ‘名字‘,19 `status` INT(1) UNSIGNED NOT NULL DEFAULT ‘99‘ COMMENT ‘狀態,1-審核通過 0-未通過 99-待審核‘,20 `type` VARCHAR(50) NOT NULL DEFAULT ‘‘ COMMENT ‘類型‘,21 PRIMARY KEY (`id`)22 ) ENGINE=INNODB DEFAULT CHARSET=utf8;23 24 SET i=1;25 WHILE (i<1000000) DO26 INSERT INTO `100w_data`(`name`, `status`, `type`) VALUES(CONCAT(‘data_‘,i), ‘99‘, ‘PROC‘);27 SET i=i+1;28 END WHILE;29 30 END$$31 32 DELIMITER ;
2.定義插入的開始點與結束點,這樣可以多進程執行預存程序,提高速率。(也可以用PHP指令碼來跑)
1 DELIMITER $$ 2 3 USE `Havefun`$$ 4 5 DROP PROCEDURE IF EXISTS `create_i_data`$$ 6 7 CREATE DEFINER=`root`@`%` PROCEDURE `create_i_data`(IN _start INT, IN _end INT) 8 BEGIN 9 DECLARE i INT;10 DROP TABLE IF EXISTS `Havefun`.`amt_data`;11 CREATE TABLE `amt_data` (12 `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT ‘主ID‘,13 `name` CHAR(20) NOT NULL DEFAULT ‘‘ COMMENT ‘名字‘,14 `status` INT(1) UNSIGNED NOT NULL DEFAULT ‘99‘ COMMENT ‘狀態,1-審核通過 0-未通過 99-待審核‘,15 `type` VARCHAR(50) NOT NULL DEFAULT ‘‘ COMMENT ‘類型‘,16 `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘建立時間‘,17 `update_time` INT(11) NOT NULL COMMENT ‘更新時間‘,18 PRIMARY KEY (`id`)19 ) ENGINE=INNODB DEFAULT CHARSET=utf8;20 SET i=_start;21 WHILE (i<_end) DO22 INSERT INTO `amt_data`(`name`, `status`, `type`, `create_time`, `update_time`) VALUES(CONCAT(‘data_‘,i), ‘99‘, ‘PROC‘,NOW(),UNIX_TIMESTAMP(NOW()));23 SET i=i+1;24 END WHILE;25 END$$26 27 DELIMITER ;
MySQL用預存程序建立100W的資料