2018년 5월 22일 화요일

Mysql 프로시져 만들어서 대량 인서트 한방에

delimiter //
 create procedure loop_insert_resume0(in x int)
 begin
   declare max_id int;
   declare i int;
   set i = 0;
   select max(id) into max_id from  `TABLE`;
   while i < x do
     set i = i + 1;
     insert into `TABLE`  (`FIELD1`, `FIELD2`, `id`)
  select `FIELD1`, `FIELD2`, (max_id+i)  from  `TABLE` where  `resume_id` = max_id;
   end while;
 end
//

call loop_insert_resume0(50000);

Related Posts:

  • Mysql 프로시져 만들어서 대량 인서트 한방에delimiter //  create procedure loop_insert_resume0(in x int)  begin    declare max_id int;    declare i int;    set i = 0;    select max(id) into max_id from  `TABLE`; &n… Read More
  • MYSQL 행복제..귀찮...https://stackoverflow.com/questions/11331573/mysql-copy-row-but-with-new-id/11331672 템포 테이블만들고, 키삭제하고 그걸다시 넣고, 다시 삭제하고...귀찮.. CREATE TEMPORARY TABLE tmp SELECT * from my_table WHERE ...; ALTER TABLE tmp drop pk_id; # drop aut… Read More
  • Mysql Explain 다시 생각하기 회사 꼬맹이 한테  explain 해보라고 하고선,정작 나는 다 까먹었다.http://www.24w.jp/blog/?p=250 type 에 index라고 되어있으면 index 테이블을 풀스캔하고 있는거라 느린거라고함.key_len이 생각한대로 수치가 나오는지(int는 4바이트) 호가인쿼리 뒤에 \G 를 넣어서 세로로 출력그리고 팁으로 MySQL 성능 죽이는 17가… Read More

0 comments:

댓글 쓰기