join 관련 질문입니다.
287
38 asked
안녕하세요. 강의 잘 듣고 있습니다.
다음과 같이 여러 테이블을 join 후 하나의 row를 뽑아내려고 하는데 성능은 어떻게 나오는지 궁금합니다.
select *
from table1
inner join table2 on table1.xxx = table2.XXX
inner join table3 on table2.XXX = table3.xxx
where table1.nnn = NNN
이렇게 되어있을 때 전체가 다 join이 된 후 where 조건을 테스트 하게 된다면 데이터가 많을 경우 성능이 떨어질 것 같아서요.
where 조건으로 먼저 필터링 한다면 금방 끝날 거 같긴한데 DB의 동작은 어떻게 처리되는건가요?
1. where 로 필터링이 되면서 join 되는것인지 아니면 join 완료 후 where로 필터링되는것인지 궁금합니다.
2. join의 횟수를 네다섯번씩 걸어도 성능에 무리가 없을까요?
3. 위 경우 한개의 컬럼만 찾으려면 limit을 추가해 주는게 나을까요?
1개 찾았을 때 전부 다 loop를 돌지 않고 빠져나가면 빠를거 같긴한데요.
확인 부탁드립니다.
Answer 2
1
1. 강의 후반부에 나오는 [실행 계획]을 참고하시기 바랍니다. 그리고 인덱스를 어떻게 걸었는지가 아주 큰 관건입니다.
2. 성능에 좋진 않겠지만 아주 간혹 그럴 일이 생깁니다. (퀘스트, 아이템, 업적 포함 유저의 모든 정보를 긁어온다거나..)
3. 네 그렇습니다.
최신 하드웨어에서 SQL Express 설치에러 해결법
0
59
1
인벤토리 테이플 데이터가 엄청 많아지면
0
97
2
DISTINCT의 행 개수와 COUNT(DISTICNT )의 결과가 왜 차이나는지 궁금합니다.
0
101
1
conect시 신뢰할 수 없는 기관에서 인증서 발급 오류 뜨시는분들
0
319
1
PRIMARY KEY와 CLUSTERED INDEX의 차이
0
330
1
락과 트랜잭션 격리수준 차이는 뭔가여?
0
534
1
외래 키 질문이 있습니다.
0
385
1
게임 프로젝트와 연동하는 강의 내용은 포함되어 있지 않는 건가요?
0
565
1
윈도우 함수는 SELECT에서만 사용가능한가요?
0
452
1
데이터 베이스가 만들어지지 않을 때
9
799
3
sql 강의 관련 질문
0
679
1
강의내용 외의 질문이 있습니다
0
582
1
sinter
0
360
1
테이블 여러개랑 조인
0
372
1
서버 컴퓨터 스펙에 따라서 성능 차이가 심한가요?
0
798
1
Non-Clustered 에서 clustered index 추가시
0
438
1
UNIQUE INDEX와 PRIMARY KEY의 기능적차이
0
583
1
Part5: 데이터베이스_ SSMS 입문 테이블작성 오류에관하여
2
903
2
인덱스의 저장 방식에 대해서 질문이 있습니다!
1
538
1
MSSQL vs AWS
0
364
1
Inner Join 질문
0
305
1
데이터베이스 원리는 CAP이론을 비유하여 설명하신 건지 궁금합니다.
1
401
0
CLUSTERED INDEX
1
303
1
집계함수 설명 중 집합의 의미가...
0
286
1

