• ベストアンサー

1フォルダに保存できるファイル数の上限

NTFSでは1つのフォルダに約42億個のファイルを保存できるそうですが、ファイル数が多くなるほどアクセスが遅くなるといったことはありますか? エクスプローラでファイル一覧を取得するような処理は重くなりますが、ファイルのパスを直接指定して開く場合でも影響があるのか知りたいです。 OSはWindows 7です。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Werner
  • ベストアンサー率53% (395/735)
回答No.3

NTFSはファイル管理をB+木で行っていますが、 この構造で特定ファイルの検索(アクセス)にかかる時間のオーダーは O(log n) になります。 これはファイル数が増えてもアクセス時間はほとんど増えないと言うことですが、 それでもまったく増えないわけではないので差が出ているのではないでしょうか。

music981
質問者

お礼

回答ありがとうございます。 参考になります。B+木について調べてみようと思います。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

理論上はなりますね. 体感できるかどうかは別として.

music981
質問者

お礼

回答ありがとうございます。

music981
質問者

補足

ファイル数が10個のフォルダと100万個のフォルダでアクセス速度を測定してみると、後者のほうが0.03秒ほど遅くなりました。 何回試しても後者のほうが遅かったので誤差ではないと思います。 この程度の差なら実用にはまったく問題ないのですが、この差は何が原因なのでしょうか。

すると、全ての回答が全文表示されます。
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

エクスプローラは内部でファイル一覧を一旦取得してから表示ってやるから数が増えると遅いだけ。 プロンプトで直接指定するようなら全然大丈夫だけど アプリとかで「ファイルを開く」ダイアログとかであっても結局ファイル一覧を取得するから同じ様に遅いよ。 そうでなく?

music981
質問者

お礼

回答ありがとうございます。 プロンプトではありませんがプログラムでパスを指定して開くようにしています。 ファイル一覧を取得しない処理なら大丈夫なのですね。

すると、全ての回答が全文表示されます。

関連するQ&A