PHP를 사용하여 매우 큰 SQLite 파일(수십 기가바이트)을 처리하는 좋은 방법은 무엇인가요?
처리하다가 그냥 죽었어요~~
ringa_lee2017-05-16 13:06:33
이러한 대용량 파일은 PHP로 처리할 수 없습니다. 파일을 처리하려면 PHP가 먼저 해당 파일을 메모리로 읽어 들여야 하며, 각 스크립트가 사용할 수 있는 메모리는 PHP 구성 파일의 memory_limit와 관련됩니다. 메모리가 충분히 크면 무제한으로 설정하여 시스템의 최대 메모리를 사용할 수 있습니다.
권장되는 해결 방법은 먼저 파일을 작은 파일로 자르고, sed와 같은 쉘 프로그램을 사용하여 파일을 특정 크기(PHP 메모리 크기에 따라 크기가 결정됨)에 따라 여러 개의 작은 파일로 자른 다음 처리하는 것입니다. PHP로요.
世界只因有你2017-05-16 13:06:33
한 줄씩 읽기, PHP에는 이 기능이 있습니다. 한 번에 3줄을 읽습니다. 그러나 SQLite는 로컬 데이터베이스이고 읽는 것은 드라이버의 문제입니다. 단지 모두 인쇄하지 마세요. 단번에
阿神2017-05-16 13:06:33
데이터를 MYSQL로 전송한 다음 읽기 및 쓰기를 위해 PHP에 제공해야 합니다. SQLite는 원래 대용량 데이터를 처리하는 능력이 낮은 작은 파일 데이터베이스입니다.
大家讲道理2017-05-16 13:06:33
깜짝! 이렇게 많은 양의 데이터를 처리하려면 여전히 sqlite가 사용됩니다.
게다가 메모리에 한 번에 수십 기가바이트를 읽어들이면 메모리가 실제로 수십 기가바이트가 아닌 이상 메모리가 확실히 터질 것입니다.
이 데이터베이스를 분할하거나 다른 유형의 데이터베이스 처리로 변환하는 것이 좋습니다.
过去多啦不再A梦2017-05-16 13:06:33
PHP의 텍스트 처리는 이상적이지 않고 매우 느립니다. mysql에 진입한 후 처리하는 솔루션은 가능하지만 시간이 더 많이 걸립니다.
참고해서 확인해보세요
世界只因有你2017-05-16 13:06:33
sqlite는 잘 모르겠지만 이렇게 큰 파일을 직접 처리하기는 어려울 것 같아요. 그러나 일반적인 생각이 있습니다. 그냥 해체합니다. 도서관에 따르면. 시계라던가.