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

我此时正在做的是查询图片名称并将其显示在网页上。

问题是我有数百万张图片,有时这些图片需要一段时间才能恢复,特别是如果我必须与其他一些图片一起加入该表。

我想做的是忽略该数据库表并编写一个 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.

我的问题是,这种方法会比查询更快吗?我将如何查找该文件?

希望我让自己足够清楚。

感恩

4

1 回答 1

3

glob可以帮助您:尝试glob($id.'_*.jpg');

性能取决于您的系统。非常笼统地说:在 Windows 上它会更慢(由于*语义的构建方式),在 Unices YMMV 上。我在使用 Linux 和 ReiserFS 时获得了出色的结果,并且在使用 Linux 和 ext* 时获得了非常有用的结果。如果访问了许多图像,则很有可能您在缓存中拥有该目录。但请注意,记忆压力是其中的一个因素!

于 2012-08-10T22:28:17.780 回答