假设我有这张桌子:
img_id, img_author, img_path
1 | BillyDoe | img1.jpg
2 | BillyDoe | img2.jpg
3 | BillyDoe | img3.jpg
我运行另一个与某些特定条件匹配的查询,该查询返回一个数组,其中包含许多 img_author 名称,例如:BillyDoe、JillDoe、JohnDoe 等...
我要做的第二件事是从图像表中获取与作者姓名匹配的所有图像
最好用上一个查询返回的所有作者姓名创建一个循环并像这样多次运行查询
select img_path from images_table where img_author = $curr_author_name
或者我应该创建一个自定义函数,它将连接所有作者姓名并使用多个“或”运算符运行单个 sql 查询,如下所示:
select img_path from images_table where img_author = BillyDoe or img_author = JillDoe or img_author = JohnDoe ... x100 times
通过这两种方式中的任何一种,我会有任何形式的性能损失/增益吗?或者有更好的选择,比如多查询等。总是在谈论性能方面,哪种方法会减少资源密集度?
谢谢你。