0

サーバー上のフォルダーにいくつかの画像があります:

/9_123456.jpg
/10_123457.jpg
/21_123458.jpg
/14_123459.jpg
...

また、私はそれらのファイル名を保持するデータベースを持っています。

id    file
9     9_123456.jpg
10    10_123457.jpg
21    21_123458.jpg
14    14_123459.jpg

この時点で私がしているのは、画像名を照会してWebページに表示することです。

問題は、私が何百万もの写真を持っていることであり、特にそのテーブルを他のテーブルと結合する必要がある場合は、それらの画像が戻るまでに時間がかかることがあります。

私がやろうと思っているのは、そのデータベーステーブルを無視して、次のような写真を取得するphp関数を作成することです。

look in that directory and find a pic that begins with 9, or 10 , or whatever, because i know that number. some kind of a regexp.

私の質問は、このメソッドはクエリよりも高速ですか?そのファイルをどのように検索しますか?

私が自分自身を十分に明確にしたことを願っています。

thnaks

4

1 に答える 1

3

あなたを助けるためのグロブがあります:試してみてくださいglob($id.'_*.jpg');

パフォーマンスはシステムによって異なります。非常に一般的に言えば、Windowsでは(*セマンティクスの構築方法のために)UnicesYMMVでは遅くなります。LinuxとReiserFSで優れた結果を経験し、Linuxとext*で非常に有用な結果を経験しました。多くの画像にアクセスする場合は、キャッシュにディレクトリがあります。ただし、その記憶圧はこれの要素です。

于 2012-08-10T22:28:17.780 に答える