【MySQL】SQLでWHILEとbulkinsertの両方を使う方法

users_bobbiesテーブルに10,000,000レコードを挿入するために、以下のSQLを作成していました。
しかし、あまりにも遅すぎます。
このWHILE文にbulkinsertを行いたいのですが、どのように記述したらよいか検討つきません。
教えて頂ければ幸いです。

Version: MySQL5.7

drop procedure if exists insert_user_hobby_data; DELIMITER $$ CREATE PROCEDURE insert_user_hobby_data() BEGIN DECLARE i INT DEFAULT 1; SET @user_counter = 0; WHILE @user_counter <= 9999999 DO set @user_id = @user_counter + 1; INSERT INTO users_bobbies (user_id, hobby_id) VALUES (@user_id, 1); SET @user_counter = @user_counter + 1; END WHILE; END$$ DELIMITER ; CALL insert_user_hobby_data();

コメントを投稿

0 コメント