ホームページ  >  に質問  >  本文

用php处理一个超大sqlite文件(几十G),有什么好方法?

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

PHP中文网PHP中文网2712日前631

全員に返信(9)返信します

  • ringa_lee

    ringa_lee2017-05-16 13:06:33

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

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

    返事
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:06:33

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

    返事
    0
  • 阿神

    阿神2017-05-16 13:06:33

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

    返事
    0
  • 大家讲道理

    大家讲道理2017-05-16 13:06:33

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

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:06:33

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

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

    返事
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:06:33

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

    返事
    0
  • 高洛峰

    高洛峰2017-05-16 13:06:33

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

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:06:33

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

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:06:33

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

    返事
    0
  • キャンセル返事