본문 바로가기

Query3

테이블 어딘가에 있는 컬럼 찾을 때, 컬럼명 조회 쿼리 컬럼명 조회 쿼리컬럼명을 어설프게 아는데…어느 테이블에서 쓰이는지 기억이 잘 안나는데..어떻게 찾지?SELECT * FROM INFORMATION_SCHEMA.COLUMNS 이 쿼리를 사용하면 어느테이블에 어떤 컬럼이 쓰이는지를 알 수 있다.아예 스키마에 쿼리를 날리는 것!혹시 컬럼이 어렴풋이 기억난다면SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE column_name like '%gu_nm%' 컬럼명으로 조회도 해보자내가 맨날 찾아서 쓰는 포스팅.. 2019. 3. 21.
[SQLP] 3장. 옵티마이저 원리 - 쿼리변환 쿼리 변환1. 쿼리변환쿼리 변환(Query Transformation)은, 옵티마이저가 SQL을 분석해 의미적으로 동일하면서도 더 나은 성능이 기대되는 형태로 재작성하는 것을 말함2. 서브쿼리 Unnesting중첩된 서브쿼리(Nested Subquery)를 풀어내는 것을 말함서브쿼리를 메인쿼리와 같은 레벨로 풀어낸다면 다양한 액세스 경로와 조인 메소드를 평가할 수 있음3. 뷰 Merging사람의 눈으로 볼 때는 쿼리를 블록화하는 것이 더 읽기 편할지 모르지만 최적화를 수행하는 옵티마이저의 시각에서는 더 불편함의 뷰 쿼리 블록은 액세스 쿼리 블록(뷰를 참조하는 쿼리 블록)과의 머지(merge) 과정을 거쳐 와 같은 형태로 변환되는데, 이를 ‘뷰 Merging’이라고 함select * from (select.. 2019. 3. 17.
[SQLP] 3장. 옵티마이저 원리 - 옵티마이저 1. 옵티마이저 소개가. 옵티마이저란?SQL을 가장 빠르고 효율적으로 수행할 최적의 처리 경로를 생성해 주는 DBMS 핵심엔진사용자가 던진 쿼리수행을 위해, 후보군이 될만한 실행계획을 찾는다.딕셔너리에 미리 수집해 놓은 오브젝트 통계정보를 이용해 예상비용을 산정한다.각 실행계획을 비교해서 최저비용을 갖는 하나를 선택한다.나. 옵티마이저 종류1) 규칙기반 옵티마이저Rule-Based Optimizer (RBO). 다른 말로 ‘휴리스틱 옵티마이저’경로별 우선순위로 규칙산정인덱스 구조, 연산자, 조건절 형태가 순위를 결정짓는 주요인2) 비용기반 옵티마이저Cost-Based Optimizer (CBO)비용이란 쿼리를 수행하는데 소요되는 일량 또는 시간레코드 개수, 블록 개수, 평균 행 길이, 칼럼 값의 수, 칼.. 2019. 3. 14.