개발 Q&A

제목 코이 쿼리문 update_batch시 php메모리 오류 생기는 문제 질문있어요..
카테고리 PHP
글쓴이 neo천 작성시각 2017/10/09 09:59:45
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 10523   RSS

$this->db->update_batch로 데이터를 '매일 1번씩' 업데이트하고 있었습니다.

유저가 천~2천명일때는 update_batch 사용시 문제가 없었습니다.

 

그런데 요근래 유저가 1만2천명이 늘어난 상태에서, 유저의 어떤 데이터를 업데이트 할려고하다보니

 

Allowed memory size of 134217728 bytes exhausted (tried to allocate 37409 bytes)

 

이런식으로 에러가 뜨더군요.. 검색해보니 php메모리를 늘리면 된다 길래

ini_set('memory_limit','512M'); 이걸 써서 해결은 했습니다.

 

해결은 했지만 궁금점이 많이 남습니다 ㅠㅠ

첫번째, update_batch시 1만이상의 데이터를 업데이트하기 때문에 생기는 오류가 왜 메모리 오류인지..(초보라 그런지... 이런 부분이 약하네요 ㅠㅠ)

함수를 실행하는데 왜 php메모리 오류가 뜨는지 궁금합니다!

 

두번째, 제가 해결방안으로 썻던 ini_set('memory_limit','512M'); 가 적당한 해결 방법인지 모르겠습니다. 애초에 기본설정 128M로 되어있고 잘썻던걸 제가 강제로 ini_set('memory_limit','512M'); 로 바꾼 찝찝함?이 생겨서요..ㅠㅠ

 

 

 다음글 uploadify 첨부파일 업로드시 세션 삭제되는 문제... (1)
 이전글 OSI7계층 과 포트에 관하여 (1)

댓글

변종원(웅파) / 2017/10/09 13:06:02 / 추천 0

1. update_batch 를 코어에서 열어보시면 답이 있습니다. 업데이트문을 만들어서 메모리에 적재했다가 한꺼번에 실행을 합니다.

2. 그 방식으로 사용하시면 됩니다. 기본은 128이고 이 페이지에서만 512로 적용되는 겁니다. php매뉴얼에서 ini_set 찾아보세요.