그누보드 7만개 update 쿼리 날리는데 .. 7만개면 쿼리 안들어가나요? 채택완료

데이터가 약 7만개 됩니다.

반복문으로 update 약 7만개 날립니다.

소스등 문제 없는게 확인했는데..

echo 로 각각 들어가는 데이터 값 별도로 찍으면 정상으로 나옵니다.

데이터가 DB에 특정 필드에 업데이트가 안되네요

그누보드 5.5버전대 사용중이고

PHP 7.4 사용중

MYsql 7 사용중입니다.

왜 그럴가요? ㅠㅠ 혹시 아시는분.. 있으실가요?

업데이트 소스코드

Copy
echo $val['wr_id'] . "<br>";
echo "tree_data:".$tree_data."<br>";
echo "level:".$level."<br>";

 

$sql = " update g5_write_plan_a set wr_9 = '$level' where wr_id = '$val[wr_id]' ";
    sql_query($sql);

결과값

1
tree_data:67811
level:15

답변 7개

7만개면 웹서버 timeout 날수도 있겠네요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

timeout 문제같네요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Copy
$sql = " update g5_write_plan_a set wr_9 = '{$level}' where wr_id = '{$val['wr_id']}' ";
    sql_query($sql);

코드 수정후 다시 실행해보세요. 

php 7.x 이면 스트링 내부에 $val[wr_id] 처럼 변수 넣을수 없습니다.

아마 오류나 경고 문구가 나올텐데,, display_errors 를 껴두신거 같네요. 켜보시면 에러가 명확하게 표시될겁니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

백업 잘 하시고 작업 하셔야되요.. 

그리고 프로시저인가 이것도 해보세요

https://mantaray.tistory.com/47

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

디비와 php실행이 무작정 계속실행되는 것이 아니고 일정시간이 경과하면 실행이 멈추게 설정되어있습니다

7만건이면 당연히 질문처럼하면 안될 것입니다

하나씩 처리할때다 내용을 출력하는 것도 브라우저가 버벅이는 등 문제가 생길 것입니다

Ajax로 실행되게 만들고 페이지처리처럼 나누어 처리하는 방법으로 해보세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

서버 성능이나 기타 이유들로 처리할 양이 많으면 안될 수 있습니다. 한번에 안되시면 플라이님 말씀 처럼 나눠서 등록을 하셔야 할거 같습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

한번에 다 등록하지 마시고 중간중간 딜레이를 주며 등록시켜보세요

Db서버에 등록 제한이 있다보니 7만개를 한번에 등록시 제대로 안될수도 있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고