WHERE句とNULL値で複数の条件を扱うときのパフォーマンスやベストプラクティスが優れているのでしょうか。MySQLのWHERE句のCASEまたはCOALESCEのパフォーマンス
WHERE
u.id = COALESCE(user_id, u.id) AND
su.custom_id = COALESCE(student_number, su.custom_id)
OR
WHERE
CASE
WHEN user_id IS NOT NULL AND LENGTH(user_id) > 0
THEN
u.id = user_id
ELSE
su.custom_id = student_number
END
テストした結果は?クエリプランはどのように異なるのですか? –
私はSQL Serverのユーザーですから、セットアップするプロファイラの種類や種類についての知識はMySQLに限られています。 –
Select文の前に[EXPLAIN EXTENDED](http://dev.mysql.com/doc/refman/5.0/en/explain.html)を入れてみてください。 SQL Serverのクエリプランを調べることに慣れていれば、それほど異なって見えません –