본문 바로가기
728x90
반응형

데이터베이스/최적화3

postgresql 실행계획 파헤치기 많은 SQL 개발자는 PostgreSQL이 FROM 절에 나타나는 것과 동일한 순서로 테이블에 액세스(및 조인)하는 쿼리를 실행한다고 가정합니다. 그러나 조인 순서는 대부분의 경우 유지되지 않으며 데이터베이스에는 이러한 명령이 필요하지 않습니다. 다음 장에서는 작업 순서에 영향을 미치는 요소에 대해 더 자세히 설명합니다. 지금은 실행 계획을 평가하는 방법을 살펴보겠습니다. 2024. 5. 10.
SQL 인덱스 기본 사용법 - 수정중 수직적 탐색 :수평적 탐색 : 인텍스를 정상적으로 사용한다?인덱스를 정상적으로 사용한다는것은 리프 블록에서 스캔 시작점을 찾고 거기서부터 스캔하다가 중간에 멈추는것을 의미한다. OR 조건 검색수직적 탐색을 통해 전화번호가 '01022222222'이거나 고객명이 '홍길동' 인 어느 한 시작지점을 바로 찾을수 없다따라서 인덱스를 어떤 방식을 구성해도 Range Scan을 할수없다where (전화번호 = :tel_no  OR 고객명 = :cust_nm) 위와같은 쿼리는 select *from 고객where 고객명 = :cust_nmunion allselect *from 고객where 전화번호 =:tel_noand (고객명 :cust_nm or 고객명 is null) 로 변경하면 인덱스를 타고 이것을 OR E.. 2024. 5. 2.
SQL?옵티마이저?프로시저?SQL최적화 방법?소프트파싱?하드파싱?는 무엇일까? with oracle 본 포스팅은 '친절한 SQL 튜닝' 책을 보고 정리한 내용입니다. Contents SQL란? SQL은 Structured Query Language의 줄임말이다. 말그대로 구조적 질의언어이다. 프로시저란? SQL은 기본적으로 구조적 집합적이고 선언적 질의언어이다. 프로시저는 이러한것들을 결과 집합을 만드는 역할을한다. 옵티마이저란? 프로시저를 만들어내는 DBMS 내부 엔진이며, 옵티마이저가 존재하지 않았을때 사람이 직접 프로시저를 코드로 짜서 데이터를 출력했다. 하지만 옵티마이저가 등장함으로써 사람대신 프로시저 프로그래밍을 직접 해준다. SQL최적화란? DBMS 내부에서 프로시저를 작성하고 컴파일해서 실행 가능한 상태로 만드는 전과정을 'SQL최적화'라고한다. 1.SQL 파싱 사용자로부터 SQL을 전달받.. 2024. 4. 8.
728x90
반응형