데이터 일괄변경(레코드데이터) > 자유게시판

자유게시판

데이터 일괄변경(레코드데이터) 정보

데이터 일괄변경(레코드데이터)

본문

데이터 개수가 약 100만개정도 있는데요.

 

레코드를 하나 추가하였습니다.

 

그리고 쿼리문으로 100만개를 하나씩 돌리면서 하나하나 새로 추가한 레코드에 데이터를 삽입중인데.

 

100만개중 한달치 레코드를 넣고있는데 벌써 3시간이 경과한거같은데 아직 15일까지밖에 처리가 안됐네요 ㅜㅜ

 

어쩔수 없는걸까요?ㅜㅜ

 

100만개를 하나하나씩 읽어서 레코드에 데이터를 넣는 이유는

 

1개의 데이터가 1개 기준, 20개의 데이터값을 group_concat해서 1개의 데이터에 넣는 작업인데.. 엄청 오래 걸리네요 ㅠㅠ

추천
0
  • 복사

베스트댓글

테이블에 인덱스가 걸려있으면 DML문 실행할 때 부하가 좀 걸린다고 들었습니다.
물론 동접자는 없으시겠지만, 잠깐 인덱스를 없애고 다시해보심도... 물론 where 에서 검색의 primary key의 인덱스는 있어야겠지요. wr_id 같은...

100만개정도면... 흠... 얼마전에 PHP 배열 하나에 50만개 값을  넣어보았는데 동작하더군요... 아마 메모리만 좀 크면 100만개도 들어갈 것 같은데... 찾고 넣고  찾고 넣는 것이 아니라

1. 찾은 값들을 배열에 모두 넣어두는 작업 후,
2. 배열안에서 루프를 돌려서 값을 가져와서 인서트

해보시면 조금 더 나은 성능을 보지 않을까요?

부족한 자가 한마디 거들었네요... ㅜㅜ;

댓글 1개

테이블에 인덱스가 걸려있으면 DML문 실행할 때 부하가 좀 걸린다고 들었습니다.
물론 동접자는 없으시겠지만, 잠깐 인덱스를 없애고 다시해보심도... 물론 where 에서 검색의 primary key의 인덱스는 있어야겠지요. wr_id 같은...

100만개정도면... 흠... 얼마전에 PHP 배열 하나에 50만개 값을  넣어보았는데 동작하더군요... 아마 메모리만 좀 크면 100만개도 들어갈 것 같은데... 찾고 넣고  찾고 넣는 것이 아니라

1. 찾은 값들을 배열에 모두 넣어두는 작업 후,
2. 배열안에서 루프를 돌려서 값을 가져와서 인서트

해보시면 조금 더 나은 성능을 보지 않을까요?

부족한 자가 한마디 거들었네요... ㅜㅜ;
© SIRSOFT
현재 페이지 제일 처음으로