テーブルの一連の異なるクエリのレコード数の合計を探しているようです。
最初の選択肢...各クエリの結果をカウントしてから追加します...より高速になります。なんで?やるべき仕事が少なくなります。 2番目の選択肢は、一連のcomid
をまとめる必要があります 値を数えます。それには時間がかかります。
COUNT(*)
を使用する できれば。それは安価です。 UNION ALL
を使用する UNION
の代わりに できるとき; UNION
重複を削除し、UNION ALL
そうではありません。重複の削除には時間がかかります。
どちらの選択肢のパフォーマンスも、各サブクエリのインデックスの適切な選択によって異なります。