>  기사  >  백엔드 개발  >  PHP로 대량의 데이터를 빠르게 가져오는 방법

PHP로 대량의 데이터를 빠르게 가져오는 방법

王林
王林원래의
2019-09-21 17:58:513440검색

PHP로 대량의 데이터를 빠르게 가져오는 방법

PHP를 사용하여 대량의 데이터를 데이터베이스로 빠르게 가져오는 방법

첫 번째 방법: insert into를 사용하고 코드는 다음과 같습니다.

$params = array(‘value'=>'50′);

set_time_limit(0);

echo date(“H:i:s”);

for($i=0;$i<2000000;$i++){

$connect_mysql->insert($params);

};
echo date(“H:i:s”);

마지막 표시: 23:25:05 01:32:05 또한 2시간 이상이 걸렸습니다!

두 번째 방법: 트랜잭션 제출을 사용하여 데이터베이스에 일괄 삽입합니다(100,000개 항목마다 제출). 최종 표시 시간은 22:56:13 23:입니다. 04:00, 총 8분 13초 동안 코드는 다음과 같습니다.

echo date(“H:i:s”);

$connect_mysql->query(‘BEGIN&#39;);

$params = array(‘value&#39;=>&#39;50′);

for($i=0;$i<2000000;$i++){

$connect_mysql->insert($params);

if($i%100000==0){

$connect_mysql->query(‘COMMIT&#39;);

$connect_mysql->query(‘BEGIN&#39;);

}

}

$connect_mysql->query(‘COMMIT&#39;);

echo date(“H:i:s”);

세 번째 방법: 최적화된 SQL 문을 사용하여

SQL 문을 이어붙인 후 insert into table () values  (),(),(),()를 사용하여 한꺼번에 삽입합니다. 문자열이 너무 길면 MYSQL을 구성해야 합니다.

mysql 명령줄에서 실행:

set global max_allowed_packet =  2*1024*1024*10;

소요 시간: 11:24:06 11:25:06

삽입하는 데 1분 밖에 걸리지 않습니다. 200만 개의 테스트 데이터! 코드는 다음과 같습니다.

$sql= “insert into twenty_million (value) values”;

for($i=0;$i<2000000;$i++){

$sql.=”(&#39;50′),”;

};

$sql = substr($sql,0,strlen($sql)-1);

$connect_mysql->query($sql);

요약: 첫 번째 방법은 대량의 데이터를 삽입할 때 확실히 최악인 반면, 두 번째 방법은 실제 응용 프로그램에서 더 널리 사용됩니다. 테스트 데이터나 기타 낮은 요구 사항을 삽입할 때 적합하며 정말 빠릅니다.

추천 튜토리얼: PHP 비디오 튜토리얼

위 내용은 PHP로 대량의 데이터를 빠르게 가져오는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.