0


このテーブルがあるとしましょう:

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 つの方法のいずれかを実行すると、何らかのパフォーマンスの低下/向上が発生しますか? または、マルチクエリなどのより良い代替手段があります。常にパフォーマンスに関して話しているのですが、リソース消費が少ない方法はどれですか?

ありがとうございました。

4

1 に答える 1