ホームページ >データベース >mysql チュートリアル >CASE ステートメントと WHERE 句を使用して SQL Server の更新を最適化するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。