반응형
반응형
실행계획과 비용 (Execution Plan & Cost) 개념 옵티마이저를 통해 최적의 실행 방법을 실행계획이라고 칭함 SQL에서 요구한 사항을 처리하기 위한 절차와 방법을 의미 즉, SQL을 어떤 순서로 어떻게 실행할 지를 결정하는 작업 생성된 실행계획을 확인하는 방법은 데이터베이스 벤더마다 다름 최종적으로는 실행계획을 통해 보다 향상된 SQL을 활용 하기 위함 실행계획 구성 요소 조인 순서(Join Order) 조인 작업을 수행할 때 참조하는 테이블의 순서 논리적으로 가능한 조인순서는 n!만큼 존재 (n은 FROM절에 존재하는 테이블의 수) 현실적으로 옵티마이저가 적용 가능한 조인 순서는 같거나 적음 예시를 위한 조건) FROM절에 A, B 두개의 테이블이 존재 예시) 조인 작업을 위해 먼저 A테이..
데이터베이스를 사용하면서 생각보다 자주 데이터베이스의 정보를 확인해야할 때가 있다. 그럴 때에 막무가내로 직접 테이블들을 조회해서 하는 것보다는, 데이터베이스 시스템 정보를 포함하고 있는 뷰를 활용하는 편이 훨씬 좋고 편하다. 사실 이 포스팅을 작성하는 이유는 내가 해당 쿼리를 보다 더 편하게 재활용하기 위해서이다. 아래는 데이터베이스의 정보를 확인할 수 있는 쿼리이다. MS-SQL, MySQL 에서 모두 사용 가능하다.그대로 사용하면 해당 데이터베이스에 있는 모든 정보를 조회할 수 있다.WHERE절에 테이블 이름으로 조건을 걸면 내가 필요한 테이블의 정보를 상세하게 확인할 수 있다.SELECT TABLE_CATALOG as 데이터베이스명, TABLE_SCHEMA as 스키마명, TABLE_NAME as..
SQL 최적화 개념 DBMS 내부에서 프로시저를 작성하고 컴파일해서 실행 가능한 상태로 만드는 전 과정을 의미 SQL 옵티마이저를 통해 DBMS 내부 엔진에서 프로시저를 만듦 즉, SQL 옵티마이저는 SQL문을 최적화하여 데이터베이스 성능을 결정하는 가장 핵심적인 엔진을 뜻함 최적화 과정을 'SQL 파싱' 혹은 파싱 과정을 포함해 'SQL 최적화'라고도 표현 과정 1. SQL 파싱 사용자로부터 SQL을 전달받으면 가장 먼저 SQL 파서(Parser)가 파싱을 진행 파싱 트리 생성 : SQL문을 이루는 개별 구성요소를 분석해서 파싱 트리 생성 문법(Syntax) 확인 : 사용할 수 없는 키워드를 사용하는 등의 문법적 오류가 없는지 확인 의미(Sementic) 확인 : 존재하지 않는 테이블을 사용하는 등의 ..
인덱스의 개념 원하는 데이터를 쉽게 찾을 수 있도록 책의 찾아보기와 유사한 개념 테이블을 기반으로 선택적으로 생성할 수 있는 구조 테이블에 인덱스를 생성하지 않아도 되고 여러 개를 생성 가능 기본적인 목적은 검색 성능의 최적화 즉, 검색 조건을 만족하는 데이터를 인덱스를 통해 효과적으로 찾도록 함 단, DML 작업은 테이블과 인덱스를 함께 변경해야 하기 때문에 오히려 느려지는 단점 존재 Insert, Update, Delete 등 인덱스의 종류 트리 기반 인덱스 (B-Tree Index) 특징 B-트리 인덱스는 DBMS에서 가장 일반적인 인덱스로 사용 일치 검색과 범위 검색에 모두 적합한 구조를 가짐 일치(Exact Match) 검색 : '='로 검색 범위(Range) 검색: 'BETWEEN', '>' ..
모델링 정의 모형, 축소형의 의미 나타날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형 어떤 목적을 달성하기 위해 커뮤니케이션의 효율성을 극대화한 고급화된 표현방법 특징 추상화 : 현실세계를 일정한 형식에 맞추어 표현. 즉, 다양한 현상을 일정한 양식인 표기법에 의해 표현 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현 명확화 : 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술 * 모델링 정의 : 현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법 데이터 모델링 정의 정보시스템을 구축하기 위해, 해당 업무에 어떤 데이터가 존재하는지 또는 업무가 필요로 하는 정보가 무엇인지를 분석하는 ..
속성의 개념 업무에서 필요로 하는 인스턴스 의미상 더 이상 분리되지 않는 최소의 데이터 단위 업무상 관리하기 위한 최소의 단위 엔터티에서 한 분야를 담당 엔터티, 인스턴스와 속성, 속성값에 대한 표기법 엔터티, 인스턴스, 속성, 속성값 관계 표기 속성 : 엔터티에 속한 보다 자세하고 구체적인 정보를 나타내며 각각의 속성은 구체적인 값을 가짐 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 함 각각의 인스턴스는 속성의 집합으로 설명 될 수도 있음 한 개의 속성은 한 개의 인스턴스에만 존재할 수 있음 한 개의 엔터티는 두 개 이상의 속성을 가짐 한 개의 속성은 한 개의 속성값을 가짐 예시) 엔터티 : '홍길동' 이라는 사람 속성 : 이름, 주소, 생년월일 등 속성 값 : 홍길동, 서울시 강서구, 199..