sql >> データベース >  >> RDS >> Sqlserver

where句の評価順序を選択

    評価順序の保証はありません。オプティマイザーは、利用可能な情報を使用して、クエリを実行する最も効率的な方法を見つけようとします。

    あなたの場合、c にはインデックスが付けられ、d にはインデックスが付けられていないため、オプティマイザーはインデックスを調べて c の述語に一致するすべての行を見つけ、テーブル データからそれらの行を取得して d の述語を評価する必要があります。

    ただし、 c のインデックスがあまり選択的ではないと判断した場合 (あなたの例ではそうではありませんが、性別列が有用にインデックス化されることはめったにありません)、とにかくテーブル スキャンを実行することを決定する場合があります。

    実行順序を決定するには、クエリの説明計画を取得する必要があります。ただし、オプティマイザーが現時点で最適なクエリと判断する内容によっては、その計画が変更される可能性があることに注意してください。



    1. データベースをリセラーサーバーに移行する方法

    2. SQuirreLSQLをMicrosoftExcelに接続する

    3. MySQLで結果セット全体を連結するにはどうすればよいですか?

    4. MySQLにクエリの値の入力を求める方法は?