정말 기본적인 생각임에도 불구하고, 처음부터 다시 생각해보는 의미로 작성하게 되었다.SQL에서 JOIN을 사용할 때 ON 조건을 작성하는 방식은 개발자마다 다를 수 있다. 하지만 드라이빙 테이블(Driving Table)을 JOIN 조건의 좌변에 두는 것이 더 좋은지에 대한 고민은 필요하다.이번 글에서는 드라이빙 테이블의 개념과 JOIN 조건에서 좌변과 우변의 차이를 살펴보고, 어떤 방식이 가독성과 유지보수에 유리한지 정리해 보았다.1. 드라이빙 테이블이란?JOIN이 실행될 때, SQL 옵티마이저는 어떤 테이블을 기준으로 다른 테이블과 매칭할지 결정한다. 이때 먼저 처리되는 테이블을 드라이빙 테이블(Driving Table) 이라고 한다.예제를 살펴보겠다.SELECT o.order_id, o.order_..
1.1 SQL 파싱과 최적화 SQL : Structured Query Language : 구조적 질의 언어 SQL은 기본적으로 구조적이고 집합적이고 선언적인 질의 언어다. 원하는 결과집합을 구조적, 집합적으로 선언하지만, 그 결과집합을 만드는 과정은 절차적일 수밖에 없다. 즉, 프로시저가 필요한데, 그런 프로시저를 만들어내는 DBMS 내부 엔진이 바로 SQL 옵티마이저이다. DBMS 내부에서 프로시저를 작성하고 컴파일해서 실행 가능한 상태로 만드는 전 과정을 ‘SQL 최적화’라고 한다. SQL 최적화 SQL 파싱 - 파싱트리생성, Syntax 체크, Semantic 체크 SQL 최적화 - 옵티마이저가 그 역할을 맡는다. 데이터베이스 성능을 결정하는 가장 핵심적인 엔진임 로우 소스 생성 SQL 옵티마이저 ..
- Total
- Today
- Yesterday
- 자바스크립트
- spring
- node
- 스프링
- 데이터베이스
- 코드로 배우는 스프링 웹 프로젝트
- 남궁성
- 멀티스레딩
- AWS
- Node.js
- 인덱스
- 스프링 빈
- Oracle
- SQL
- JavaScript
- 시큐리티
- 데브캠프
- EC2
- Spark
- 옵티마이저
- 한입크기로 잘라먹는 리액트
- 이정환
- 친절한SQL튜닝
- @Configuration
- 자바의정석
- React
- 리액트
- 스프링 프로젝트
- 스프링의정석
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |