0

私は、各ユーザーが自分のアカウントに画像をアップロードできるようにするユーザー認証システムを備えた Web サイトを構築しています。基本的に、Web 開発の経験としてこれを行っているため、このトピックに関する無知をお許しください。

私の質問は、ファイルをディレクトリに配置する効率に関するものです。より深いディレクトリ構造を作成するか、すべてのファイルを 1 つのフォルダーに配置する方が効率的ですか? 前者は当たり前のようですが、ファイルシステムが実装している検索アルゴリズムに依存しているのではないでしょうか?

例えば:

root/user/2012/----------------A/
         /2013/---------- A/   B/
         /2014/------A/   B/   C/
                     B/   C/   D/
                     C/   D/
                     D/

または、すべてのファイルを 1 つのフォルダーにダンプしますか?

root/user/

タグなどによって画像を取得する場合<img>、どの方法がより効率的な結果を提供しますか? このトピックに関する情報を Google で検索しましたが、決定的なものや私の理解レベルのものは見つかりませんでした。

4

2 に答える 2

2

単一のファイルへのアクセスは、ほぼ同等です。ディレクトリを 1 つ選択するか複数選択するかは、ファイル リストをどのように使用しようとしているかによって異なります。ユーザーが何千ものファイルを持っていると予想され、一度に 1 年しか表示しない場合は、ディレクトリ構造を複数のセクションに分割して、ファイルのリストを管理しやすくすることが理にかなっている場合があります。常にすべてのファイルを表示する場合は、複数のファイルのリストを実行してディレクトリ リスト全体を実行する必要があるため、単一のフォルダーの方が高速であると思われます。アプリで処理する必要があると予想される内容に基づいて、いくつかのテストを行います。多数のファイルが予想され、リストを分割できる場合を除き、単一のディレクトリで問題ないと思います。

于 2013-01-06T19:17:28.983 に答える
1

どのOSで実行するつもりなのかわかりませんが、単一のディレクトリで10000以上のファイルを処理するときに一部のFS(WindowsのNTFSなど)が恐ろしく遅くなるため、複数のディレクトリアプローチを使用します

于 2013-01-06T18:57:08.703 に答える