PHP PDO MySQL에 여러 행 삽입: 코드 비교 및 최적화
다음을 사용하여 MySQL 테이블에 여러 행을 삽입해야 하는 경우 PHP PDO, 개발자는 두 가지 기본 접근 방식을 접할 수 있습니다.
접근 방법 1:
$stmt = $db->prepare($sql); foreach($rows as $row){ $stmt->execute($row); }
접근 방법 2:
$sql = "insert into `table_name` (col1, col2, col3) values "; $sql .= //not sure the best way to concatenate all the values, use implode? $db->prepare($sql)->execute();
코드 성능 및 안전성:
두 접근 방식 모두 실행 가능하지만 실행 속도와 보안 측면에서 다릅니다.
접근 방법 1:
접근 방식 2:
최선의 접근 방식:
최적의 접근 방식은 삽입되는 데이터 세트의 크기에 따라 다릅니다. 소규모 데이터 세트의 경우 두 방법 중 하나가 적합합니다. 속도가 중요한 대규모 데이터 세트의 경우 매개변수화된 쿼리를 사용하는 접근법 2를 권장합니다.
추가 최적화:
접근법 2의 일괄 삽입은 쿼리 실행 전 자리 표시자:
$sqlArray = array(); foreach($rows as $row){ $sqlArray[] = '(' . implode(',', array_fill(0, count($row), '?')) . ')'; } $sql .= implode(',', $sqlArray);
이렇게 하면 실행 전에 바인딩해야 하는 자리 표시자의 수가 크게 줄어들어 성능이 향상됩니다.
위 내용은 PHP PDO MySQL에 여러 행을 삽입하는 데 어떤 접근 방식이 더 좋습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!