본문 바로가기

공부/오라클 (Oracle) DB3

SQL옵티마이저 힌트, 조인방식(NL JOIN, SORT MERGE JOIN, HASH JOIN) SQL옵티마이저란? 사용자가 원하는 작업을 가장 효율적으로 수행할 수 있는 최적의 데이터 액세스 경로를 선택해주는 DBMS의 핵심엔진이다. SQL옵티마이저 힌트 사용법 주석 기호에 '+'를 붙인다. select /*+ INDEX(A 사원_PK)*/ 이름, 나이 FROM 사원 A WHERE 이름 = '홍길동' 아래와 같은 방식도 적용가능하다. (하지만 쿼리의 statement를 하드코딩해야하는 상황이라면 줄바꿈 오류가 발생할 수 있어 사용을 지양해야함.) select --+ INDEX(A 사원_PK) 이름, 나이 FROM 사원 A WHERE 이름 = '홍길동' 힌트 사용시 주의사항 1,2) 힌트안의 인자를 나열할 때 ','(콤마) 사용가능, 단 힌트와 힌트 사이에는 사용불가능 3) 스키마명 명시 하지 않을.. 2023. 7. 31.
[오라클 DB] 현재 세션의 날짜 형식 확인하는 방법, 논리 연산자 진리표 나라마다 날짜 형식이 다르기 때문에 날짜를 검색하기전 현제 접속한 세션의 날짜 형식을 확인해주어야 합니다. 현재 세션의 날짜 형식 확인하기 select * from nls_session_parameters where parameter='NLS_DATE_FORMAT'; 날짜 형식 정의 형식 정의 형식 정의 YYYY 연도 4자리 HH24 시간 (0~24) YY 또는 RR 연도 2자리 MI 분 (0~59) MM 달의 2자리 값 SS 초 (0~59) MON 달의 영문 약어 WW 연의 주 DD 숫자 형식의 일 IW ISO 표준에 따는 년의 주 DAY 요일 W 월의 주 DY 요일 약어 YEAR 영어 철자로 표기된 년도 D 요일의 숫자 MONTH 양어 철자로 표기된 달 YY와 RR의 차이? 이 둘은 서로 다르다. 예.. 2022. 2. 13.
[Oracle] order by와 rownum (feat. 프로그래머스 SQL) 프로그래머스의 오랜기간 보호한 동물(1) 문제를 풀며 궁금한게 생겼었다. 문제는 아래와 같다. 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FA.. 2022. 2. 3.