メモリがファイル サイズより少ない場合は、大きなファイル内の行 をすばやく検索して見つけます。たとえば、ファイル があります。 ABC 56 DEF 100 RET 300 ... ファイルには 2 つの列があり、最初の列は一意で、2 番目の列は回数を表します (数値として扱います)。 ファイルサイズが 2G 以上でメモリが 1G しかない場合、「ABC 56」行を素早く見つける方法。 より明確な解決策を教えてください。 メモリ 大きなファイル 共有先: -----解決策--------------------------------fopen、次に fscanf。 一度に 1 行ずつ読んでください。メモリが制限要因になることはありません。 ------解決策----------------------ハッシュ テーブルを構築したい場合は、次のことを行ってください。まず、ファイルの内容がハッシュされているかどうかを確認する必要があります。 必ずしもアルゴリズムを使用する必要はなく、他のツールで処理することもできます。 たとえば、awk: awk '/ABCt56/{ NR を印刷}' ファイル 一致した行の行番号を取得できます。 銀行番号を取得したいだけの場合は、解決策がたくさんありますので、具体的なニーズを教えてください。 ただし、他のニーズがある場合は、awk のようなことを実行するのが最善の解決策ではない可能性があります。 ------解決策--------- 引用: 引用: 引用: 誰か知っていますか? 一行ずつ読んでいくと効率が悪いです。 もっと早い方法はありますか? 私のアイデアは、ハッシュ テーブルを構築し、ハッシュ アルゴリズムに基づいてハッシュ衝突原理を使用して重複を排除することです。 良い意見があるかどうかは分かりません じゃあ、一行ずつ読んでハッシュ化すればいいんじゃないでしょうか? 一行ずつ読むのは遅すぎると思われる場合は、少しずつ読んでも構いません はい、ブロックを読み取る方がニーズに合います -----解決策-------------------------- ------オーナー 参照してください: http://www.fantxi.com/blog/archives/php-read-large-file/ http://sjolzy.cn/php-large-file-read-operation.html