FIX: 많은 UNION 절 MERGE UNION 사용되는 않음

기술 자료 번역 기술 자료 번역
기술 자료: 295037 - 이 문서가 적용되는 제품 보기.
# 버그: 351918 (SHILOH_BUGS)
모두 확대 | 모두 축소

이 페이지에서

현상

20개 이상의 UNION 절을 분기를 사용하는 쿼리는 해시 통합, 보다 효율적인 MERGE 과도한 메모리 사용을 고치고 쿼리 오류가 발생할 수 있습니다 UNION을 대신 사용하여 실행됩니다. 이 의미는 24 노드에서 실행되는 분산된 분할된 뷰를 20 노드에서 보기 이외의 다른, 및 덜 효율적인 계획을 있습니다.

해결 방법

이 문제를 해결하려면 SQL Server 2000의 최신 서비스 팩을 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
290211INF: SQL Server 2000의 최신 서비스 팩을 구하는 방법

해결 과정

MERGE UNION 쿼리 힌트를 사용하여 이 문제를 피할 수 있습니다. 프로덕션 단계로 넣기 전에 최적화 프로그램 힌트를 철저히 테스트를 마친 있는지 확인하십시오.

현재 상태

Microsoft은 SQL Server 2000에 문제가 있음을 확인했습니다. 이 문제는 SQL Server 2000 서비스 팩 1에서 처음 수정되었습니다.

추가 정보

문제를 재현하기 위한 단계

  1. 쿼리 분석기에서 창을 엽니다.
  2. 쿼리 메뉴에서 실행 계획 표시 를 선택하십시오.
  3. 다음 쿼리를 실행할:
    use Northwind
    go
    select top 1 * from
    (
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders 
    union all select orderid from orders
    ) xx
    order by orderid
    					
  4. 실행 계획 탭을 클릭한 다음 결과를 확인하십시오.
  5. 쿼리가 다음 줄 주석으로:
    union all select orderid from orders
    					
  6. 편집된 쿼리를 실행하고 변경 계획 실행 계획 탭을 확인하십시오.

속성

기술 자료: 295037 - 마지막 검토: 2003년 11월 6일 목요일 - 수정: 3.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Standard Edition
키워드:?
kbmt kbbug kbfix kbsqlserv2000sp1fix KB295037 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com