[DB] 4장. NL조인
·
Study/친절한 SQL 튜닝
1. NL조인 🔎 NL조인(Nested Loop)의 기본 메커니즘SQL이 탄생하기 전에는 조인하는 프로그램을 개발자가 직접 작성해야했다. → JAVA 이중for문 for(i=0; ifor outer in 1..100 loop for inner in 1..100 loop     dms_output_line(outer||':'||inner);   end loop;end loop;🔎 NL조인 ( Nested Loops Join )인덱스를 이용한 조인Outer, Inner 양쪽 테이블을 모두 사용한다.Outer쪽 테이블은 Table Full Scan 하더라라도 한번만 거치기 때문에 인덱스가 필수적이지 않는다.Inner쪽 테이블은 인덱스를 사용해야된다. 인덱스를 사용하지 않으면 Outer 루프에서 읽은 건..
[DB] 1장.SQL 처리과정과 I/O
·
Study/친절한 SQL 튜닝
1. SQL파싱과 최적화 1. 옵티마이저가 SQL을 어떻게 처리하는지2. 서버프로세스는 데이터를 어떻게 읽고 저장하는지  🔎 SQL (Structured Query Language)구조적 질의 언어구조적이고, 집합적이고, 선언적인 질의 언어구조적(Structured) : 데이터를 테이블 형태로 정리하고 다루는 언어집합적(set-based) : 데이터를 한꺼번에 처리가 가능, 집합적인 언어 수행선언적(declarative) : SQL이 내부적으로 데이터를 어떻게 찾고, 처리할지는 DBMS가 처리하기 때문에, 사용자는 결과만 요청 🔎 옵티마이저 (Optimizer)SQL 쿼리의 성능을 최적화하기위한 DBMS 핵심 엔진즉, 어떻게 하면 쿼리를 더 빠르게 실행할 수 있을까?를 자동으로 고민해주는 역할개발자가..