我在服务器上的文件夹中有一些图像:
/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.
我的问题是,这种方法会比查询更快吗?我将如何查找该文件?
希望我把自己说得足够清楚。
噗嗤
有 glob 可以帮助你:试试glob($id.'_*.jpg');
性能取决于您的系统。一般来说:在Windows上,在Unices YMMV上它会变慢(由于*
语义的构建方式)。我在 Linux 和 ReiserFS 上体验到了出色的结果,在 Linux 和 ext* 上也体验到了非常有用的结果。如果访问了许多图像,则很可能您在缓存中具有该目录。不过请注意,记忆压力是其中的一个因素!