用php处理一个超大sqlite文件(几十G),有什么好方法?
PHP中文网
PHP中文网 2017-05-16 13:04:33
0
9
630

用php处理一个超大sqlite文件(几十G),有什么好方法?
处理的时候 直接死了~~

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(9)
左手右手慢动作

이러한 대용량 파일은 PHP로 처리할 수 없습니다. 파일을 처리하려면 PHP가 먼저 해당 파일을 메모리로 읽어 들여야 하며, 각 스크립트가 사용할 수 있는 메모리는 PHP 구성 파일의 memory_limit와 관련됩니다. 메모리가 충분히 크면 무제한으로 설정하여 시스템의 최대 메모리를 사용할 수 있습니다.

권장되는 해결 방법은 먼저 파일을 작은 파일로 자르고, sed와 같은 쉘 프로그램을 사용하여 파일을 특정 크기(PHP 메모리 크기에 따라 크기가 결정됨)에 따라 여러 개의 작은 파일로 자른 다음 처리하는 것입니다. PHP로요.

世界只因有你

한 줄씩 읽기, PHP에는 이 기능이 있습니다. 한 번에 3줄을 읽습니다. 그러나 SQLite는 로컬 데이터베이스이고 읽는 것은 드라이버의 문제입니다. 단지 모두 인쇄하지 마세요. 단번에

阿神

데이터를 MYSQL로 전송한 다음 읽기 및 쓰기를 위해 PHP에 제공해야 합니다. SQLite는 원래 대용량 데이터를 처리하는 능력이 낮은 작은 파일 데이터베이스입니다.

大家讲道理

깜짝! 이렇게 많은 양의 데이터를 처리하려면 여전히 sqlite가 사용됩니다.
게다가 메모리에 한 번에 수십 기가바이트를 읽어들이면 메모리가 실제로 수십 기가바이트가 아닌 이상 메모리가 확실히 터질 것입니다.
이 데이터베이스를 분할하거나 다른 유형의 데이터베이스 처리로 변환하는 것이 좋습니다.

过去多啦不再A梦

PHP의 텍스트 처리는 이상적이지 않고 매우 느립니다. mysql에 진입한 후 처리하는 솔루션은 가능하지만 시간이 더 많이 걸립니다.

참고해서 확인해보세요

世界只因有你

sqlite는 잘 모르겠지만 이렇게 큰 파일을 직접 처리하기는 어려울 것 같아요. 그러나 일반적인 생각이 있습니다. 그냥 해체합니다. 도서관에 따르면. 시계라던가.

小葫芦

SQLite 파일이므로 데이터베이스 읽기->프로세스->저장을 클릭하시면 기본적으로 sqlite를 바로 사용할 수 있습니다.

曾经蜡笔没有小新

sqlite를 Mysql로 ​​변환한 후 인덱스를 최적화하면 문제가 없을 것입니다.

给我你的怀抱

본 상품을 참고해주세요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!