쿼리문 조언 부탁드려요~
본문
엑셀 데이터 2천건정도 불러와 단순 등록은
1~20초 정도 걸립니다.
문제는 등록후 바로 업데이트 하는부분인데요
$sql = " insert into $write_table
set wr_num = '$wr_num',
... ";
sql_query($sql);
$wr_id = sql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
위와 같은 쿼리는 속도 차이가 별로 없습니다...
문제는 업데이트 전에 다른 테이블 데이터를 불러와서 업데이트 할때 발생하는거 같은데요...
$sql = " insert into $write_table
set wr_num = '$wr_num',
... ";
sql_query($sql);
$wr_id = sql_insert_id();
// 중간 다른 테이블 데이터 불러오기
$sql = "select ~~~~";
// 부모 아이디에 UPDATE
sql_query(" update $write_table set {중간 불러온데이터} wr_parent = '$wr_id' where wr_id = '$wr_id' ");
위처럼 중간 다른 테이블 검사를 넣고 하면 기존 속도가 1~20초 나오던게
몇배나 느려집니다...
근데 중간 다른 테이블을 쿼리문 독립적으로 해서 데이터 불러오는 속도 테스트를 해봤는데
걸린시간 => 0.00058507919311523 정도 나오는거 같드라고요
속도가 현저히 느려지는 이유가 어디에 있을가요... 많은 데이터에 동일한 쿼리를 연속으로 해서
락? 같은게 걸리나요? ㅡㅡ; 답답허네요
조언좀 해주실분~~
!-->!-->답변 2
loop 돌면서
select , update하는 것이라면
update table_a join table_b set ...
형태로 하는 것을 한번 검토해 보세요.
서버가 이상 했었나보네요 속도가 갑자기 잘나오네요~ 괜히 몇시간 뻘짓했네 ㅠㅠ
답변을 작성하시기 전에 로그인 해주세요.