多个MYSQL查询与多个php foreach循环

jay*_*jay 6 php mysql foreach associative-array

数据库结构:

id  galleryId                 type     file_name       description
1   `artists_2010-01-15_7c1ec`  `image`  `band602.jpg`   `Red Umbrella Promo`
2   `artists_2010-01-15_7c1ec`  `image`  `nov7.jpg`      `CD Release Party`
3   `artists_2010-01-15_7c1ec`  `video`  `band.flv`      `Presskit`
Run Code Online (Sandbox Code Playgroud)

我要为应用程序的一个部分提取图像,在另一个部分提取视频等.为每个部分制作多个mysql查询是否更好:

$query = mysql_query("SELECT * FROM galleries WHERE galleryId='$galleryId' && type='image');
Run Code Online (Sandbox Code Playgroud)

...或者我应该构建一个关联数组,只要我需要使用结果集,就一遍又一遍地遍历数组?

谢谢你的想法.

Kar*_*l B 9

这取决于什么更重要:可读性或性能.我希望单个查询和预填充PHP数组的执行速度会更快,因为数据库连接很昂贵,但是每个部分的简单查询更具可读性.

除非你知道(而不仅仅是希望)你将获得大量的流量,我会去单独查询,然后担心优化,如果它看起来像是一个问题.此时,您还需要做其他事情,例如构建数据访问层并添加一些缓存.