[운영 종료] TmaxTibero Tech Blog

티맥스티베로 공식 블로그는 https://tmaxtibero.blog/ 로 이전되었습니다.

티맥스티베로 공식 블로그 이전 자세히보기

튜닝 14

[Tibero] SQL Tuning (4)

4. 실행계획 옵티마이저가 생산한, 사용자가 원하는 작업을 가장 효율적으로 수행할 수 있는 최적의 데이터 엑세스 예상 경로를 트리 구조로 표현합니다. 실행계획에는 SQL 문이 실행될 때 필요한 모든 정보를 포함 합니다. ​ 4.1. 실행계획 포함 정보 액세스 경로: 어떠한 방법으로 데이터에 접근할 것인가? (Index Scan, Index Fast Full Scan, Full Table Scan 등) 조인방법 : 어떤 조인 방법을 사용할 것인가? 조인순서 : 어떠한 조인의 순서로 풀릴 것인가? ​ 4.2. 실행계획 확인 방법 Explain Plan ---------------------------------------------------------------------------- 1 HASH JOIN..

튜닝 2023.06.01

[Tibero] SQL Tuning (3)

3. 조인 메소드 한 테이블에 원하는 데이터가 없을 시, 두 개의 테이블을 묶어 하나의 결과로 만들어 내는 것이 조인 입니다. 본 문서에서는 물리적인 조인 방법인 Nested Loop join, Sort merge join, Hash join 에 대해 안내합니다. ​ 3.1. Nested Loop Join (중첩반복 조인) 선행테이블에서 상대방 테이블에 순차적으로 접근해 추출한 값으로 결과를 만드는 조인 방식 입니다. 순차적인 처리로 fetch의 운반단위(array size)마다 결과를 리턴 받을 수 있습니다. ​ SELECT /*+ ORDERED USE_NL(d e) */ e.ename, d.dname, … FROM dept d, emp e WHERE d.deptno = e.deptno AND d.de..

튜닝 2023.05.31

[Tibero] SQL Tuning (2)

2. 처리 과정 2.2. 인덱스 (Index) 인덱스는 테이블의 데이터를 빠르게 접근하기 위한 색인 입니다. ​ 인덱스 구성 하나 이상의 컬럼 + ROWID 인덱스를 구성하는 컬럼 값으로 정렬 B-TREE 아키텍처로 구성 ​ ​ 인덱스와 테이블 접근 Rowid를 통해 빠르게 접근 SELECT name FROM emp WHERE rowid = 'AAAApDAACAAAABaAAA’; ​ Where 절이 조건이 없어 table full scan SELECT name FROM emp; ​ Last_name 컬럼에 인덱스가 있으면 인덱스를 통해 테이블을 rowid로 접근 SELECT name FROM emp WHERE last_name = ‘KANG’; ​ ​ ​ 인덱스 스캔 질의문에서 특정 조건에 만족하는 Ro..

튜닝 2023.05.30

[Tibero] SQL Tuning (1)

본 문서에서는 개요 및 도구 설명, 사례를 통해 Tibero SQL Tuning을 설명합니다. ​ SQL Tuning 개요 SQL Tuning은 빠른 시간내에 원하는 결과값을 얻기 위해 SQL문을 작성하고 개선하는 작업 입니다. SQL Tuning함으로써 시스템이 최적의 성능을 낼 수 있도록 합니다. ​ 1. SQL Tuning 필요성 DB I/O는 시간 소요가 많은 작업이므로 통계정보와 SQL이 수행 속도 및 시스템 성능에 많은 영향을 미칩니다. ​ 데이터베이스에서 데이터를 가져오는 방법은 SQL가 유일하며 다양한 방법으로 SQL을 작성해 동일한 결과를 얻을 수 있습니다. Note! 옵티마이저는 사용자가 원하는 데이터를 가져오기 위한 다양한 실행 계획을 생성하고 최적의 실행계획을 선택합니다. 따라서 S..

튜닝 2023.05.30