2011-06-22 8 views
1

私はたくさんのファイルを持つディレクトリを持っています。 10.000以上のファイルこのディレクトリをリファクタリングします。それぞれの2つのファイルは特定の「アイテム」に属します。私たちの計画は、ディレクトリを複数のディレクトリに分割し、それぞれの "アイテム"にそれぞれ独自のディレクトリを持ちます。MySQLとReaddir PHP

現時点では、「アイテム」の主キーとともにファイル名をデータベースに格納しています。

今、私はこれらのファイルを管理するための最良の解決策は何でしょうか?画像を取得するためにphpのreaddir関数を使用してディレクトリを読み取る方が良いですか、データベーステーブルを読み込んでその名前のファイルを取得する方が良いでしょうか?

私は何が最高のパフォーマンスを提供し、何が最も多くの画像を扱うための最も一般的な方法であるのだろうかと思います。

ありがとうございます!

答えて

0

データベースを経由します。適切に索引付けされていると仮定すると、必要なフォルダのファイルシステムをスキャンするよりもはるかに速くなります。

SQLクエリで興味のあるレコードを見つけて、ディスク上の対応するファイルを探します。これは高速であるだけでなく、より多くの追加機能の基礎となります。ファイルシステムの線形検索の上で、類似の機能を自分で実装するよりも簡単にレコードを検索およびソートできます。

0

私はデータベースを使ってファイルを検索します。 readdirは遅くなる可能性があり、SQLクエリと同じ量のインテリジェンスでは実行できません。 dir s3を移動することに決めた場合は、readdirの使用の選択によって制限されます。また、readdirを使用すると、ファイルがphpクライアントと同じサーバー上に存在するように強制されますが、これもまた別の制限です。