inflearn logo
강의

Khóa học

Chia sẻ kiến thức

MySQL thực sự Phần 1 - Phần 1

Ep.12 Tăng tính dễ đọc của câu lệnh SQL

12강. LEFT JOIN 사용 방법 준수 5:42

Đã giải quyết

240

yi12277176

1 câu hỏi đã được viết

0

안녕하세요 강의 잘 듣고 있습니다.

강의 내용 중 오른쪽 쿼리에서 LEFT JOIN이 불필요하게 들어가서 쿼리들에서 LEFT JOIN을 제거하는게 쿼리 성능에 도움이 된다고 하셨는데요.

LEFT JOIN 대신 INNER JOIN을 사용하는 것으로 이해하는게 맞을까요? 제거하라하면 JOIN 자체를 제거하라는 의미인지 헷갈려서 질문 남기게 되었습니다.

 

감사합니다.

mysql dbms/rdbms backend query-tuning mysql-query

Câu trả lời 2

0

eunbinbaeck0088

안녕하세요.

문의주셨던 부분 관련해서 제가 말씀드리고자 했던 요지는

  1. LEFT JOIN을 굳이 사용하지 않아도 되는 경우에는 JOIN을 제거

  2. 본래 목적이 LEFT JOIN이 아닌 INNER JOIN이 맞다면, 명시적으로 INNER JOIN으로 변경

입니다!

혹시 추가로 궁금한 부분 등이 있으시면 편하게 말씀해주세요.

감사합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. yi12277176님.

LEFT JOIN과 INNER JOIN의 사용에 대한 궁금증을 해결하기 위해 비슷한 질문과 답변을 찾았습니다. 이 내용들을 참고하시면 도움이 될 것입니다.

  1. 실제 프로젝트에서의 데이터 타입 환경
    서건혁님이 주신 질문과 그에 대한 지식공유자의 답변에서는 데이터베이스 최적화와 관련된 여러 고려 사항이 언급됩니다. LEFT JOIN과 INNER JOIN의 사용과 성능에 대한 언급은 없지만, 데이터 처리와 최적화에 대한 전반적인 이해를 높일 수 있을 것입니다.

  2. 없는데이터에 select … for update 쿼리시에 Lock
    이 질문과 답변은 데이터베이스 락과 관련된 내용이지만, JOIN 조건에 따른 데이터베이스 동작을 이해하는 데 도움을 줄 수 있습니다.

기본적으로, LEFT JOIN을 INNER JOIN으로 변경하면 조인 대상 테이블에 조건에 맞는 레코드가 반드시 존재해야 합니다. 이는 조인을 수행하는 테이블 간의 필수 관계를 나타낼 때 사용됩니다. 반면, LEFT JOIN은 조건에 맞는 레코드가 없어도 왼쪽 테이블의 모든 레코드를 반환할 때 사용합니다.

강의에서 말씀하신 “불필요하게 들어간 LEFT JOIN을 제거하는 것이 쿼리 성능에 도움이 된다”는 언급은 INNER JOIN이 가능한 경우 불필요한 LEFT JOIN을 사용해 성능 저하를 피하라는 의미로 해석할 수 있습니다. JOIN 자체를 완전히 제거하는 것이 아닌, 조인의 필요성과 적절한 유형을 판단하여 쓰라는 의미입니다.

위 관련 링크에서 데이터 처리 방식 및 최적화에 대해 더 깊이 있게 공부해보시는 것도 좋겠습니다. 이해를 돕기 위한 직접적인 답변을 주신 질문이 없어 아쉽지만, 관련 질문에서 인사이트를 얻으실 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Commit 응답받기 전 네트워크 문제가 발생하면

1

64

1

14분44초에 쿼리 질문드립니다.

0

73

2

ep12. (2) LEFT JOIN 사용 방법 준수 - 오타 질문

0

75

2

ep.12 count(*) 질문

0

67

2

레코드 수정시 저장공간이 부족하면

0

81

2

복합 index 문의

0

87

2

강의

0

82

1

LEFT JOIN 시 드라이빙 테이블을 왜 ALL로 읽나요?

0

107

2

GAP 락에 대한 질문 드립니닷..!

0

194

1

ORDER BY가 필요한 이유

0

177

2

[오타 제보] 선행 데이터를 기반으로 한 데이터 분석

0

165

1

2강. VARCHAR(255) 저장되는 데이터의 길이 정보 질문

0

448

2

LIMIT, OFFSET을 사용하는 것과 범위 기반 방식의 성능 차이

0

319

2

MySQL Where절 내 조건의 순서

0

393

2

1강. delete marking된 데이터의 정리 주기는 어느 정도인가요?

0

238

2

Mysql table avg_row_length

0

144

1

12강 FULL GROUP BY

0

135

2

ep11) Prepared Statement에서 질문

0

145

2

7)select for update 강의에서 질문

0

229

2

6강. Top N 데이터 조회와 관련해 질문있습니다.

0

195

2

5강에서 사례로 언급하신 DETERMINISTIC 예제에 대해 질문있습니다.

0

145

1

deternmistic 질문

0

174

2

1강 CHAR타입에 대해 질문드립니다

0

230

1

EXPLAIN ANALYZE 수행 시 쿼리 실행 계획이 예상과 다릅니다.

0

251

1