テーブルに行が存在するかどうかを確認しようとしています。MySQL を使用する場合、次のようなクエリを実行する方がよいでしょうか。
SELECT COUNT(*) AS total FROM table1 WHERE ...
合計がゼロでないかどうかを確認します。または、次のようなクエリを実行する方がよいでしょう。
SELECT * FROM table1 WHERE ... LIMIT 1
行が返されたかどうかを確認しますか?
どちらのクエリでも、WHERE 句はインデックスを使用します。
ベストアンサー1
以下も試すことができますEXISTS
:
SELECT EXISTS(SELECT * FROM table1 WHERE ...)
そしてドキュメント、何でもできますSELECT
。
従来、EXISTS サブクエリは SELECT * で始まりますが、SELECT 5 や SELECT column1 など、任意の文字で始まることもできます。MySQLはこのようなサブクエリの SELECT リストを無視するため、違いはありません。