web-dev-qa-db-ja.com

何百万ものファイルが1つのNTFSフォルダに保存されているのは悪いことですか?

20TBを超える容量と数百万のファイルを含む非常に大きなNTFSボリュームがあります。すべてのファイルを同じフォルダーに入れると、Windowsエクスプローラーでフォルダーを開いたときにパフォーマンスが低下することがわかります。

プログラムでファイルの1つを直接開いた場合でも、パフォーマンスは低下しますか?

6
flypen

ファイルを直接開いている場合は、そこにファイルがいくつ入っていても関係ありません。ただし、TABオートコンプリートを使用してファイルにすばやくアクセスしている場合は、パフォーマンスに確実に影響します。

ここでいくつかの手がかりを見つけました-> https://stackoverflow.com/questions/197162/ntfs-performance-and-large-volumes-of-files-and-directories

あなたの質問にもっと直接的に答えるために:あなたが10万のエントリーを見ているなら、心配はありません。ノックアウトしてください。数千万のエントリを見ている場合は、次のいずれかです。

a)それらをサブフォルダーに分割する計画を立てます(たとえば、1億個のファイルがあるとします。1つの大きなフォルダーに保存するよりも、フォルダーごとに100,000個のファイルしかないように1000個のフォルダーに保存することをお勧めします。これフラグメントの最大数の制限に達する可能性が高い単一の大きなインデックスではなく、1000のフォルダインデックスを作成します。

b)大きなフォルダのインデックスを最適化しておくために、contig.exeを定期的に実行する計画を立てます。

退屈している場合にのみ、以下をお読みください。

実際の制限は、フラグメントの数ではなく、フラグメントへのポインタを格納するデータセグメントのレコード数にあります。

つまり、ディレクトリデータのフラグメントへのポインタを格納するデータセグメントがあります。ディレクトリデータには、ディレクトリに保存されていると思われるサブディレクトリとサブファイルに関する情報が保存されます。実際、ディレクトリは何も「保存」しません。これは、記憶媒体自体が線形であるため、ユーザーに階層の錯覚を提示する単なる追跡および表示機能です。

4
mnmnc