ストアドプロシージャでさくっと100万レコード作る
クエリーチューニングするときにスクリプト使って入れるよりさくっと欲しいときに。。。
CREATE TABLE `test_table` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `tester_id` int(10) UNSIGNED NOT NULL, `hoge_id` int(10) UNSIGNED NOT NULL, `fuga_id` int(10) UNSIGNED NOT NULL, `status` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '0: incactive, 1,: active', `created_on` int(10) unsigned NOT NULL, `updated_on` int(10) unsigned DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
1回消しておく
drop procedure if exists doWhile;
作る
DELIMITER // CREATE PROCEDURE doWhile() BEGIN DECLARE i INT DEFAULT 1; WHILE (i < 100) DO INSERT INTO test_table (tester_id, hoge_id,fuga_id, status, created_on ) VALUES (i, 29905, 119619, (CAST(RAND() * 2 AS UNSIGNED)), unix_timestamp()); SET i = i+1; END WHILE; END; //
実行する
CALL doWhile();