SQL

Oracle, SQL

[SQL Tip] 오라클 실행계획 변경 사례 #2 – CTAS vs SELECT

지난 글에서 Oracle SQL과 ANSI SQL의 실행 계획 변경 사례를 소개했습니다. 이 때 사례로 사용한 쿼리는 CTAS(Create Table As Select) 유형입니다. CTAS는 SELECT 쿼리 실행 결과를 그대로 테이블로 생성해주는 DDL문입니다. 일반적으로 SELECT 문 성능에 이상 없으면 CTAS로 변형하더라도 데이터 쓰기(Write) 부하만 추가되고 다른 성능은 큰 차이가 없습니다. SELECT 절에 해당하는 부분의 실행 계획이 동일하기 때문입니다. […]

Oracle, SQL

[SQL Tip] 오라클 실행계획 변경 사례 #1 – Oracle SQL vs ANSI SQL

오라클은 표준 ANSI SQL 문법과 오라클 스타일의 문법을 함께 사용할 수 있습니다. 두 문법의 가장 눈에 띄는 차이는 조인(Join) 문법입니다. 표현의 차이일 뿐 둘 다 기능과 성능은 동일한 것이 일반적이지만, 실행 계획이 다른 경우도 가끔 발견됩니다. 이 때는 실행 계획 차이로 성능이 다를 수 있습니다. 아래는 최근에 발견한 사례입니다. 참고로 테스트는 오라클 19c 버전에서 진행했습니다.

Oracle, SQL

[SQL 기초 강좌] SELECT문 WHERE절

SELECT 문은 테이블의 데이터를 조회하는 명령어입니다. 다음은 SELECT 문의 기본 형식입니다. 한 문장이 여러 개의 절로 만들어져 있습니다. 아래 별도로 표기한 키워드가 각 절의 시작을 의미합니다. SELECT 절, FROM 절, WHERE 절 이렇게 말이지요. SELECT 절과 FROM 절은 반드시 있어야 하고, 다른 절은 필요할 때 추가합니다. 테이블 중 일부 데이터만 필요하면 WHERE 절을 추가하고, 정렬이 필요하면 ORDER BY 절을 추가하는 식입니다. 기본

Oracle, SQL

[SQL 기초 강좌] INSERT

테이블에 새로운 데이터를 입력할 때는 INSERT 문을 사용합니다. 기본 사용법 기본적인 사용법은 아래처럼 1개의 새로운 행(row)을 추가하는 것입니다. 테이블명 뒤 괄호에 입력할 컬럼명을 나열하고 VALUES 절 뒤의 괄호에 값을 순서대로 나열합니다. 권장하지 않지만 입력 대상 컬럼을 생략하는 방법도 있습니다. 이 때는 VALUES 절에 테이블의 모든 컬럼에 대한 값을 나열해야 합니다. 그리고 나열한 값의 순서는 테이블의 컬럼

Oracle, SQL

[SQL 기초 강좌] SELECT

SELECT 문은 테이블의 데이터를 조회하는 명령어입니다. 간단한 예시를 통해 SELECT 문의 기본 사용법을 알아보겠습니다. 모든 컬럼 조회하기 가장 먼저 단순하게 이 테이블을 조회해봅시다. 아래 쿼리를 실행하면 ORDER(주문) 테이블의 모든 로우(row)와 컬럼(column)을 조회합니다. SELECT 절의 *(Asterisk)는 테이블의 모든 컬럼을 의미하는 특별한 표현입니다. 특정 컬럼 조회하기 다음으로 필요한 컬럼만 SELECT 절에 나열해서 원하는 데이터만 조회해보겠습니다. 일부 행만 조회하기

Oracle, SQL

오라클 DBMS_PARALLEL_EXECUTE 패키지 사용법

오라클 DBMS_PARALLEL_EXECUTE 패키지 사용법을 소개합니다. 이 패키지는 병렬 처리를 쉽게 도와주는 오라클 내장 PL/SQL Package 오브젝트입니다. 대량 데이터를 처리할 때 병렬(Parallel) 처리는 선택이 아닌 필수입니다. 오라클이 기본으로 제공하는 패키지를 이용하여 병렬 처리를 보다 쉽게 사용해보세요. 오라클 데이터베이스의 병렬(Parallel) 처리 방법은 크게 2가지입니다. 바로 병렬 쿼리(Parallel Query)와 애플리케이션 병렬(Application Parallel) 방식입니다. 이 글에서 설명하는 DBMS_PARALLEL_EXECUTE 패키지는

위로 스크롤