SQL Server 사용 join all 최적화 또는 조회 속도

1323 단어 SQLServerjoinall
예 를 들 어 master,test 는 이 사용자 가 test 의 하급 코드 임 을 나타 내 고 test 로그 인 후 test 명의 의 업무 와 모든 하급 대리 업 무 를 볼 수 있 습 니 다.관련 표 의 구 조 는 다음 과 같다.

user    10    
|-uid-|-user-|----site------|
| 1 | test | ,master,   |
| 2 | user | ,master,test,|
 
product    30    
|-pid-|-product-|-puser-|
| 1 | order01 | test |
| 2 | order02 | user |
| 3 | order03 | user |
최적화 전 SQL 문 구 는 다음 과 같 습 니 다.

select * from product as p left join user as u on p.puser=u.user where user='test' or site like '%,test,%'
or 단독 조 회 를 사용 하지 않 을 때 100 밀리초 를 초과 하지 않 고 색인 문 제 를 제거 합 니 다.하나의 문제 가 없 는 이상 두 가지 결 과 는 중복 기록 이 존재 하지 않 으 므 로 join all 최적화 도 고려 할 수 있다.
최 적 화 된 문장 은 다음 과 같다.

select * from product where pid in (
  select pid from product where user='test' join all (
    select pid from product as p left join user as u on p.puser=u.user where site like '%,test,%'
  )
)
사용자 A 명의 로 모두 4000+개의 업무 가 있 는데 최적화 전 최적화 전 11359 밀리초,최적화 후 621 밀리초
사용자 B 명의 로 모두 12 개의 업무 가 있 는데 최적화 전 최적화 전 10359 밀리초,최적화 후 78 밀리초
SQL Server 사용 join all 최적화 or 조회 속도 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 SQL Server join all 최적화 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기