집 >데이터 베이스 >MySQL 튜토리얼 >WHERE 절이 SQL Server 2005에서 CASE 문 업데이트를 어떻게 최적화할 수 있습니까?
WHERE 절을 활용하여 SQL Server 2005에서 CASE 문 업데이트 최적화
SQL Server 2005에서는 CASE 문을 사용하여 업데이트할 수 있습니다. 지정된 조건에 따라 기록합니다. 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 )
이 명령문은 'dbo.TestStudents' 테이블의 레코드를 업데이트하여 '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'인 레코드만 평가합니다. 이렇게 하면 성능이 향상되고 영향을 받지 않은 행을 불필요하게 검색하는 것을 방지할 수 있습니다. 따라서 WHERE 절을 통합하는 것은 SQL Server 2005에서 CASE 문 업데이트를 최적화하는 데 권장되는 기술입니다.
위 내용은 WHERE 절이 SQL Server 2005에서 CASE 문 업데이트를 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!