CSV 파일에 많은 수의 레코드가 있습니다.레코드를 그룹으로 분할합니까?
하나의 쿼리에 여러 개의 Insert를 구현하려고하지만 전체 레코드에서 몇 개의 단일 쿼리가 필요한지 연습해야합니다. 예를 들어
는 :
$totalRecord = 1620;
그래서 나는 17 개 쿼리를해야합니다. 16 쿼리에는 100 개의 Insert 레코드가 있고 17 번째 쿼리에는 20 개의 레코드가 있습니다.
$totalRecord
의 수는이 문제를 해결하는 방법 500,00
-1 사이에 아무것도 할 수 있는가?
예 :
Query 1:
INSERT INTO [table]
([field1], [field2], [field3]) VALUES
('[value1.1]', '[value1.2]', '[value1.3]'),
('[value2.1]', '[value2.2]', '[value2.3]'),
('[value3.1]', '[value3.2]', '[value3.3]'),
Query 2:
INSERT INTO [table]
([field1], [field2], [field3]) VALUES
('[value1.1]', '[value1.2]', '[value1.3]'),
('[value2.1]', '[value2.2]', '[value2.3]'),
('[value3.1]', '[value3.2]', '[value3.3]'),
일회성 작업입니까 아니면 자주 수행 하시겠습니까? 일회용이라면 CSV 또는 코드에서 데이터베이스로 직접 가져 오는 것이 fgetcsv()를 사용하고 루프에 삽입하는 것이 더 낫습니다. –
@Michael 매주 한 번 자주 좋아할 것입니다. 이것은'fgetcsv()'를하고 루프에 삽입하지만 100,000 개가 넘는 레코드는 너무 느립니다. 따라서 여러 개의 삽입 쿼리를 그룹화해야합니다. 필요한 그룹 수를 계산하는 방법은 무엇입니까? –
어쩌면 준비된 진술에 대해 읽어 보셨습니까? link -> http://php.net/manual/en/pdo.prepared-statements.php – Tudor