> 데이터 베이스 > MySQL 튜토리얼 > WHERE 절이 SQL Server 2005에서 CASE 문 업데이트를 어떻게 최적화할 수 있습니까?

WHERE 절이 SQL Server 2005에서 CASE 문 업데이트를 어떻게 최적화할 수 있습니까?

Patricia Arquette
풀어 주다: 2024-12-28 09:27:11
원래의
246명이 탐색했습니다.

How Can a WHERE Clause Optimize CASE Statement Updates in SQL Server 2005?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿