간단한 가져 오기 도구가 있는데, 꽤 큰 CSV의 각 줄을 거쳐 데이터베이스로 가져옵니다.PHP에서 큰 가져 오기 최적화하기
내 질문은 : 각 객체를 삽입하는 다른 메소드를 호출해야합니까 (DO 생성 및 삽입을 지시). 삽입 프로세스에서 삽입 프로세스를 하드 코딩해야합니까?
나는 두 번째 방법을 호출하는 것이 유익하다는 것을 알고 있지만 함수 호출이 비싸다고 계속 들었습니다.
당신은 어떻게 생각하십니까?
간단한 가져 오기 도구가 있는데, 꽤 큰 CSV의 각 줄을 거쳐 데이터베이스로 가져옵니다.PHP에서 큰 가져 오기 최적화하기
내 질문은 : 각 객체를 삽입하는 다른 메소드를 호출해야합니까 (DO 생성 및 삽입을 지시). 삽입 프로세스에서 삽입 프로세스를 하드 코딩해야합니까?
나는 두 번째 방법을 호출하는 것이 유익하다는 것을 알고 있지만 함수 호출이 비싸다고 계속 들었습니다.
당신은 어떻게 생각하십니까?
많은 RDBMS 브랜드가 대량 가져 오기를 수행하는 특수 명령을 지원합니다.
LOAD DATA INFILE
COPY
BULK INSERT
SQL*Loader
은 한 번에 하나 개의 행을 삽입 선호한다 대량로드 명령은 일반적으로 적어도 한 단계 더 빠르게 실행되기 때문에 CSV 데이터 소스에서 가져올 수 있습니다.
이 부분이 너무 중요하지 않다고 생각합니다. 벌크 삽입물을 고려하십시오. 최소한 거래를 사용하고 있는지 확인하고 삽입하기 전에 색인을 사용하지 않도록 설정하십시오.
PHP 코드보다 삽입 시간이 길어질 수 있으므로 중요하지 않습니다.
다른 사람들이 언급했듯이, 대량 삽입물은 훨씬 많은 이점을 제공합니다. 이러한 라인 레벨 최적화는 좋은 고급 최적화에 대해 눈을 멀게 할뿐입니다.
확실하지 않은 경우 두 가지 방법으로 간단한 타이밍을 수행하십시오. 알아내는 데 2 분 이상 걸리지 않습니다.
일괄 올리기가 일부 메모리/시간/.... 제한에 도달하면 일괄 삽입을 만들기 위해 두 방법을 결합하는 것을 고려하십시오.
많은 고마워, 나는 그 생각조차하지 않았다 : - D 조 –