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

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

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(9)
左手右手慢动作

このような大きなファイルは PHP で処理できません。ファイルを処理するには、PHP はまずファイルをメモリに読み込む必要があります。各スクリプトが使用できるメモリは、PHP 設定ファイルのmemory_limit に関係します。メモリが十分に大きい限り、無制限に設定してシステムの最大メモリを使用できます。

推奨される解決策は、まずファイルを小さなファイルに分割し、sed などのシェル プログラムを使用して、ファイルを特定のサイズ (サイズは PHP のメモリ サイズに応じて決定されます) に従っていくつかの小さなファイルに分割してから、処理することです。それをPHPで。

いいねを押す +0
世界只因有你

行ごとに読み取る、PHP にはこの機能があり、一度に 3 行を読み取りますが、SQLite はローカル データベースであり、読み取りはドライバーの問題です。すべてを出力しないでください。すぐに

いいねを押す +0
阿神

データは MYSQL に転送され、その後、読み取りと書き込みのために PHP に提供される必要があります。 SQLite はもともと小さなファイル データベースであり、巨大なデータを処理する能力は低いです。

いいねを押す +0
大家讲道理

ショック!このような大量のデータには、依然として sqlite が使用されます。
さらに、一度に数十ギガバイトをメモリに読み込むと、実際に数十ギガバイトのメモリがない限り、間違いなくメモリがバーストします。
このデータベースを分割するか、他の種類のデータベース処理に変換することをお勧めします。

いいねを押す +0
过去多啦不再A梦

PHP のテキスト処理は理想的ではなく、非常に遅いです。 mysql に入ってから処理するという解決策も実現可能ですが、時間がかかります。

参考にして確認してください

いいねを押す +0
世界只因有你

sqlite は分かりませんが、これほど大きなファイルを直接処理するのは難しいはずです。しかし、一般的な考え方はあります。ただ解体中。図書館によると。時計か何か。

いいねを押す +0
小葫芦

これは sqlite ファイルなので、[データベースの読み取り]->[プロセス]->[ストレージ]をクリックするだけで、PHP はデフォルトで sqlite を直接使用できます。

いいねを押す +0
曾经蜡笔没有小新

sqlite を Mysql に変換し、インデックスを最適化すれば問題はないはずです。

いいねを押す +0
给我你的怀抱

こちらの商品をご参照ください

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!