1
360.000 이상의 행이있는 파일이 있습니다. 모든 행은 JSON입니다. PHP 여러 개의 Talbes에 파일 내용
i는 PHP 변수로 JSON을 읽고 난 Laravel 5.4을 사용하고 두 테이블"영화"와 "movies_details"
에 삽입합니다. 내 문제는 성능입니다. 그래서이 코드
$idMovie = DB::table('movies')
->insertGetId([
'moviedb_id' => $id,
'adult' => $adult,
'created_at' => $dateTime,
]);
DB::table('movies_title')
->insert([
'movie_id' => $idMovie,
'original_title' => $original_title,
'created_at' => $dateTime,
]);
으로 1 분에 대해 35 ~ 40 행을 라운드 삽입 할 수 있습니다하지만 난 일이 사람이를 삽입하는 빠르고 더 나은 방법을 알고있다.
감사합니다.
MySQL 용 행해져 Yout ORM 또는 프레임 워크 쿼리 매니저를 확인 그래서'INSERT 같은 다중 삽입을 지원합니다 INTO movie_title (movie_id, original_title, created_at) VALUES (1, 'title', '2017-11-14'), (2, 'title', '2017-11-14')'.... 등등. 이것은 도움이 될 수 있습니다. https://stackoverflow.com/questions/29723865/how-to-insert-multiple-rows-from-a-single-query-using-eloquent-fluent –
'chunk' 메소드를 들여다 보았습니까? – Kisaragi
@RaymondNijland 예 그렇습니다.이 링크를 보았습니다. 이 링크의 문제점은 다음과 같습니다. 데이터를 삽입 할 테이블이 하나뿐입니다. 하지만 "영화"테이블에서 삽입 된 ID가 필요합니다 - "movie_details"의 행을 할당하는 표 - 표 – Damlo