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

SQL Server:IF EXISTS がクエリを大幅に遅くする

    TOP 1 で元のクエリを実行してみましたか?ほとんどの場合、同じように遅くなります。

    オプティマイザーは、何かが非常に可能性が高く、ほとんど労力をかけずに膨大なデータ セットを返す (つまり、ほとんどすべてのレコードが返される) と判断した場合、最初のレコードとレコードを取得するだけでよいため、主にループ結合を選択します。ループ結合は、いくつかのレコードのみを取得する場合に適しています。それが真実ではないことが判明した場合、結果が出るまでには永遠に 1 日かかります。

    あなたの場合、それは非常にまれなように聞こえるので、この選択はひどく痛い.代わりに SELECT @count = COUNT(*) FROM ... のようなことをしてみてください 次に、そのカウントがゼロでないかどうかを確認します。



    1. 単一サーバーでのMysqlレプリケーション

    2. エンティティデータモデルを作成できません-MySqlとEF6を使用

    3. SQL Serverでグローバル変数を宣言する方法..?

    4. Rails:Herokuへのデプロイ、多くの問題