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'); $params = array(‘value'=>'50′); for($i=0;$i<2000000;$i++){ $connect_mysql->insert($params); if($i%100000==0){ $connect_mysql->query(‘COMMIT'); $connect_mysql->query(‘BEGIN'); } } $connect_mysql->query(‘COMMIT'); 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.=”('50′),”; }; $sql = substr($sql,0,strlen($sql)-1); $connect_mysql->query($sql);
요약: 첫 번째 방법은 대량의 데이터를 삽입할 때 확실히 최악인 반면, 두 번째 방법은 실제 응용 프로그램에서 더 널리 사용됩니다. 테스트 데이터나 기타 낮은 요구 사항을 삽입할 때 적합하며 정말 빠릅니다.
추천 튜토리얼: PHP 비디오 튜토리얼
위 내용은 PHP로 대량의 데이터를 빠르게 가져오는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!