sqlserver not in 구문 충돌
select OrgId as ,OrgName as
from Organise
where OrgLev=2
and item_id not in
(select OrgidS from WagesPerMonthHis
where WagesYear='2010' and WagesMonth=
'01' Group by OrgidS,OrgNameS)
order by Orgid
문 구 는 33 초 동안 실 행 됩 니 다.서버 설정 이 비교적 높 습 니 다.16 핵심 4CPU,24G 메모리,그리고 메모리 와 CPU 가 실 행 될 때 병목 이 나타 나 지 않 았 습 니 다.(select OrgidS from WagesPerMonthHis where WagesYear='2010'and WagesMonth='01'Group by OrgidS,OrgNames)이 문 구 는 실행 이 느 려 서 그런 줄 알 았 습 니 다.이 문 구 를 단독으로 실 행 했 는데 실행 속도 가 빠 르 고 약 2 초 만 에 나 왔 습 니 다.그래서 문제점 이 생 겼 습 니 다.not in 이라는 전체 스 캔 키워드 가 가 져 온 성능 이 떨 어 졌 습 니 다.가장 직접적인 것 은 페이지 가 응답 을 잃 고 관건 적 인 기능 을 사용 할 수 없습니다.not exist 문 구 를 시도 해 보 니 효과 가 똑 같 습 니 다.인터넷 에서 말 한 것 처럼 많은 성능 을 향상 시 킬 수 있 는 것 이 아니 라 는 것 을 알 게 되 었 습 니 다.그래서 문 구 를 다시 최적화 시 키 는 것 은 다음 과 같 습 니 다
select a.OrgId as ,a.OrgName as ,a.item_id
from Organise a
left outer join (select distinct b.OrgIdS from WagesPerMonthHis b
where WagesYear='2010' and WagesMonth='01') as b
on a.item_id = b.OrgidS
where a.OrgLev = 2
and b.OrgIdS is Null
order by
왼쪽 외 연결(사실은 왼쪽 연결 도 가능 합 니 다)으로전체 문장의 집행 속 도 는 400 ms 이 고 33 초 와 400 ms 라 고 생각 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
우분투에 SQL 서버 설치Microsoft SQL Server는 오늘날 업계에서 가장 눈에 띄는 데이터베이스 중 하나입니다. 이번 포스팅에서는 우분투에 설치하는 방법을 알려드리겠습니다. sudo 권한이 있는 계정 1단계: 터미널 열기 단축키...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.