ホームページ >データベース >mysql チュートリアル >CASE ステートメントと WHERE 句を使用して SQL Server の更新を最適化するにはどうすればよいですか?

CASE ステートメントと WHERE 句を使用して SQL Server の更新を最適化するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-26 17:04:15190ブラウズ

How Can I Optimize SQL Server Updates Using CASE Statements and WHERE Clauses?

SQL Server 2005 の CASE ステートメントによる選択レコードの更新

指定された SQL ステートメントは CASE ステートメントを使用して、LASTNAME に基づいて特定のレコードを更新します。価値観。ただし、ELSE 条件がすべての行を包含するため、不要な処理が発生するという懸念があります。これに対処するために、最適化されたソリューションが提案されています。

不必要なスキャンを最小限に抑えるために、次のようにステートメントに WHERE 句を組み込むことができます。

UPDATE dbo.TestStudents
SET LASTNAME = CASE
    WHEN LASTNAME = 'AAA' THEN 'BBB'
    WHEN LASTNAME = 'CCC' THEN 'DDD'
    WHEN LASTNAME = 'EEE' THEN 'FFF'
    ELSE LASTNAME
END
WHERE LASTNAME IN ('AAA', 'CCC', 'EEE');

この改訂されたコードでは、WHERE 句がこの句は、更新操作を対象の LASTNAME 値 ('AAA'、'CCC'、および 'EEE') のみに限定します。これにより、意図した更新が効率的に実行されながら、影響を受けない行は変更されないことが保証されます。

以上がCASE ステートメントと WHERE 句を使用して SQL Server の更新を最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。