2014-03-19 5 views
-3

나는 때로는 루프와 계산을 많이하고 mysql 데이터베이스에 수만 개의 레코드를 삽입하는 커다란 스케줄링 애플리케이션을 실행 중이다.PHP 스크립트의 실행 속도를 줄이는 방법

스크립트는 약 10-15 초 동안 실행됩니다. 문제는 스크립트가 서버의 CPU 및 MySQL 전원을 너무 많이 요구한다는 것입니다.

어쨌든 공유 서버 호스트의 분노를 불러 일으키지 않도록 스크립트의 속도를 늦추시겠습니까? (이미 최적화되었다고 가정)

큰 병목 현상은 수천 개의 mysql 삽입과 하나의 mysql 삭제로 수천 개의 레코드가 삭제됩니다.

나는 쿼리 사이에 sleep()을 사용하는 것을 생각했지만 더 좋은 방법이 있는지 궁금해하고있었습니다.

+0

그건 ... 보통 ... 한 번만 요청하십시오. 나는 네가해야 할 일을하면서 해고 당할 위험에 처해 있다면 다른 주인을 사용한다고 말한다. 가능성이없는 비공유. – deceze

+0

전체 코드를 분석하지 않고서는 ** 대답 할 수 없다고 생각합니다. 누가 그것을 할 것인가는 큰 의문입니다 !! –

+1

큰 병목 현상은 수천 개의 mysql 삽입과 수천 개의 레코드 삭제 중 하나의 mysql 삭제입니다. –

답변

0

중첩 된 루프에서 많은 일을한다고 생각하기 때문에 루프의 복잡성은 스크립트에서 많은 시간이 걸리는 이유 중 하나입니다. 이 외에도 쿼리 복잡성을 줄이기 위해 삽입 절차를 만들어야합니다. 실제로 코드를 최적화하려면 profilling을 구현해야합니다.

+0

감사하지만 병목 현상은 대부분 mysql 삽입에서 발생하며 최적화되어 있습니다. –

+0

코드의 시간을보고/줄이기 위해 프로파일 러를 사용해야합니다. –