このテーブルがあるとしましょう:
img_id, img_author, img_path
1 | BillyDoe | img1.jpg
2 | BillyDoe | img2.jpg
3 | BillyDoe | img3.jpg
特定の条件に一致する別のクエリを実行すると、そのクエリは、BillyDoe、JillDoe、JohnDoe などの多くの img_author 名の配列を返します...
2 番目に行うことは、作成者の名前に一致する画像テーブルからすべての画像を取得することです。
前のクエリで返されたすべての著者名でループを作成し、クエリを複数回実行する方がよいでしょうか。
select img_path from images_table where img_author = $curr_author_name
または、すべての著者名を結合し、次のように複数の「or」演算子を使用して単一の SQL クエリを実行するカスタム関数を作成する必要があります。
select img_path from images_table where img_author = BillyDoe or img_author = JillDoe or img_author = JohnDoe ... x100 times
これら 2 つの方法のいずれかを実行すると、何らかのパフォーマンスの低下/向上が発生しますか? または、マルチクエリなどのより良い代替手段があります。常にパフォーマンスに関して話しているのですが、リソース消費が少ない方法はどれですか?
ありがとうございました。