84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
用php处理一个超大sqlite文件(几十G),有什么好方法? 处理的时候 直接死了~~
认证高级PHP讲师
このような大きなファイルは PHP で処理できません。ファイルを処理するには、PHP はまずファイルをメモリに読み込む必要があります。各スクリプトが使用できるメモリは、PHP 設定ファイルのmemory_limit に関係します。メモリが十分に大きい限り、無制限に設定してシステムの最大メモリを使用できます。
推奨される解決策は、まずファイルを小さなファイルに分割し、sed などのシェル プログラムを使用して、ファイルを特定のサイズ (サイズは PHP のメモリ サイズに応じて決定されます) に従っていくつかの小さなファイルに分割してから、処理することです。それをPHPで。
行ごとに読み取る、PHP にはこの機能があり、一度に 3 行を読み取りますが、SQLite はローカル データベースであり、読み取りはドライバーの問題です。すべてを出力しないでください。すぐに
データは MYSQL に転送され、その後、読み取りと書き込みのために PHP に提供される必要があります。 SQLite はもともと小さなファイル データベースであり、巨大なデータを処理する能力は低いです。
ショック!このような大量のデータには、依然として sqlite が使用されます。 さらに、一度に数十ギガバイトをメモリに読み込むと、実際に数十ギガバイトのメモリがない限り、間違いなくメモリがバーストします。 このデータベースを分割するか、他の種類のデータベース処理に変換することをお勧めします。
PHP のテキスト処理は理想的ではなく、非常に遅いです。 mysql に入ってから処理するという解決策も実現可能ですが、時間がかかります。
参考にして確認してください
sqlite は分かりませんが、これほど大きなファイルを直接処理するのは難しいはずです。しかし、一般的な考え方はあります。ただ解体中。図書館によると。時計か何か。
これは sqlite ファイルなので、[データベースの読み取り]->[プロセス]->[ストレージ]をクリックするだけで、PHP はデフォルトで sqlite を直接使用できます。
sqlite を Mysql に変換し、インデックスを最適化すれば問題はないはずです。
こちらの商品をご参照ください
このような大きなファイルは PHP で処理できません。ファイルを処理するには、PHP はまずファイルをメモリに読み込む必要があります。各スクリプトが使用できるメモリは、PHP 設定ファイルのmemory_limit に関係します。メモリが十分に大きい限り、無制限に設定してシステムの最大メモリを使用できます。
推奨される解決策は、まずファイルを小さなファイルに分割し、sed などのシェル プログラムを使用して、ファイルを特定のサイズ (サイズは PHP のメモリ サイズに応じて決定されます) に従っていくつかの小さなファイルに分割してから、処理することです。それをPHPで。
行ごとに読み取る、PHP にはこの機能があり、一度に 3 行を読み取りますが、SQLite はローカル データベースであり、読み取りはドライバーの問題です。すべてを出力しないでください。すぐに
データは MYSQL に転送され、その後、読み取りと書き込みのために PHP に提供される必要があります。 SQLite はもともと小さなファイル データベースであり、巨大なデータを処理する能力は低いです。
ショック!このような大量のデータには、依然として sqlite が使用されます。
さらに、一度に数十ギガバイトをメモリに読み込むと、実際に数十ギガバイトのメモリがない限り、間違いなくメモリがバーストします。
このデータベースを分割するか、他の種類のデータベース処理に変換することをお勧めします。
PHP のテキスト処理は理想的ではなく、非常に遅いです。 mysql に入ってから処理するという解決策も実現可能ですが、時間がかかります。
参考にして確認してください
sqlite は分かりませんが、これほど大きなファイルを直接処理するのは難しいはずです。しかし、一般的な考え方はあります。ただ解体中。図書館によると。時計か何か。
これは sqlite ファイルなので、[データベースの読み取り]->[プロセス]->[ストレージ]をクリックするだけで、PHP はデフォルトで sqlite を直接使用できます。
sqlite を Mysql に変換し、インデックスを最適化すれば問題はないはずです。
こちらの商品をご参照ください