인프런 커뮤니티 질문&답변

yi12277176님의 프로필 이미지
yi12277176

작성한 질문수

Real MySQL 시즌 1 - Part 1

Ep.12 SQL 문장의 가독성 향상

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

해결된 질문

작성

·

74

0

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

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

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

 

감사합니다.

답변 2

0

백은빈님의 프로필 이미지
백은빈
지식공유자

안녕하세요.

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

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

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

입니다!

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

감사합니다.

0

안녕하세요, 인프런 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 자체를 완전히 제거하는 것이 아닌, 조인의 필요성과 적절한 유형을 판단하여 쓰라는 의미입니다.

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

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

yi12277176님의 프로필 이미지
yi12277176

작성한 질문수

질문하기