sql 3

[SQL] JOIN의 종류와 각 JOIN의 성능차이

데이터베이스를 다루다 보면, 여러 테이블에서 데이터를 가져와야 할 때가 있습니다. 이때 사용하는 것이 JOIN입니다. 하지만 JOIN의 종류에 따라 처리 방식이 다르고, 성능에도 영향을 미칠 수 있습니다. 이번 글에서는 SQL JOIN의 종류와 성능 차이에 대해 알아보겠습니다1. SQL JOIN의 종류1) INNER JOIN정의: 두 테이블 간의 공통값이 있는 행만 반환합니다.특징: 조건에 맞는 데이터만 반환하므로 불필요한 데이터가 적습니다.SELECT A.col1, B.col2FROM TableA AINNER JOIN TableB BON A.id = B.id;id 값이 일치하는 행만 결과에 나옵니다.2) LEFT JOIN (또는 LEFT OUTER JOIN)정의: 왼쪽 테이블의 모든 행을 반환하며, 오..

DB 2024.12.16

[SQL] Join vs SubQuery: 언제, 왜, 어떻게 선택할까?

며칠 전, 다대다 면접에서 면접관 한 분이 저에게 물었습니다."혹시 조인과 서브쿼리 중 어떤 것이 성능이 더 좋나요?"순간 잠시 생각을 한 뒤 이렇게 대답했습니다:"많은 양의 데이터를 다루지 않는 이상 서브쿼리와 조인의 성능 차이를 알아채는 것은 어렵다고 생각합니다. 하지만, outer join처럼 테이블 간의 데이터를 결합해야 하는 경우에는 서브쿼리는 내부 함수를 사용하거나 조건문을 작성해야 해서 SQL 구조가 직관적이지 않을 수 있습니다. 이는 성능뿐만 아니라 코드의 협업 측면에서도 JOIN보다 적합하지 않다고 생각합니다."당시에는 비교적 자신 있게 대답했지만, 며칠이 지나고 문득 궁금해졌습니다. 정말 내 대답이 옳았을까? JOIN과 서브쿼리의 차이점과 성능은 실제로 어떻게 다를까? 그래서 이번 기회..

궁금증 2024.12.09

RDBMS vs NoSQL: 차이점과 사용 이유는?

데이터베이스를 공부하다 보면, RDBMS(Relational Database Management System)와 NoSQL이라는 두 가지 데이터베이스 유형을 접하게 됩니다. 이 글에서는 두 개념의 차이점, 분리된 이유, 사용해야 할 상황, 그리고 이들이 서로 배타적인 관계인지에 대해 다뤄보겠습니다.1. RDBMS란 무엇인가요?RDBMS는 관계형 데이터베이스로, 데이터를 표(table) 형식으로 관리합니다.각 테이블은 행(row)과 열(column)로 구성되며, 서로 관계(relation)를 통해 연결됩니다.특징정형화된 데이터: 구조가 명확한 데이터를 저장하는 데 적합합니다.SQL 사용: 데이터를 조회하거나 수정할 때 SQL(Structured Query Language)을 사용합니다.ACID 특성 보장..

DB 2024.11.23