웹 개발 영역에서는 공유 호스팅 제공업체를 공통적으로 사용하면서 대용량 데이터베이스 파일을 가져와야 하는 필요성 발생합니다. 불행하게도 명령줄을 통한 MySQL 액세스는 제한될 수 있으므로 쿼리 구문 분석 및 실행을 위한 PHP 기반 솔루션이 필요합니다.
이 문제를 해결하기 위해 SplitSQL()이라는 강력한 기능이 개발되어 과도한 메모리를 소비하지 않고 데이터베이스 파일을 개별 쿼리로 변환합니다.
SplitSQL()은 파일 읽기 접근 방식을 활용하여 파일을 한 줄씩 반복합니다. 줄 끝에서 지정된 구분 기호(기본적으로;)를 감지하여 쿼리를 식별합니다. 완전한 쿼리가 조합되면 mysql_query()를 사용하여 즉시 실행됩니다.
<code class="php">function SplitSQL($file, $delimiter = ';') { set_time_limit(0); if (is_file($file) === true) { $file = fopen($file, 'r'); if (is_resource($file) === true) { $query = array(); while (feof($file) === false) { $query[] = fgets($file); if (preg_match('~' . preg_quote($delimiter, '~') . '\s*$~iS', end($query)) === 1) { $query = trim(implode('', $query)); if (mysql_query($query) === false) { echo '<h3>ERROR: ' . $query . '</h3>' . "\n"; } else { echo '<h3>SUCCESS: ' . $query . '</h3>' . "\n"; } while (ob_get_level() > 0) { ob_end_flush(); } flush(); } if (is_string($query) === true) { $query = array(); } } return fclose($file); } } return false; } // Test data $file = '/path/to/db_dump.sql'; SplitSQL($file);</code>
위 내용은 PHP를 사용하여 대용량 MySQL 파일을 공유 호스팅으로 효율적으로 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!