본문 바로가기

DB/SQLD & SQLP17

[SQLP] 1장. 아키텍처 기반 튜닝 원리 - 데이터베이스 Call과 네트워크 부하 데이터베이스 Call과 네트워크 부하1. 데이터베이스 Call 종류가. SQL 커서에 대한 작업 요청에 따른 구분Call 종류작업 요청Parse CallSQL 파싱을 요청하는 CallExcute CallSQL 실행을 요청하는 CallFetch CallSELECT 문의 결과 데이터 전송을 요청하는 Call나. Call 발생 위치에 따른 구분1) User CallDBMS 외부로부터 요청되는 CallUser Call이 많으면 성능이 좋을 수 없으므로, DBMS 확장성을 높이려면 User Call을 최소화 하려는 노력이 중요함 (Loop 쿼리 해소, Array 단위 Fetch 등)2) Recursive CallDBMS 내부에서 발생하는 CallSQL 파싱과 최적화 과정에서 발생하는 딕셔너리 조회, 프로시저 내의.. 2019. 3. 6.
[SQLP] 1장. 아키텍처 기반 튜닝 원리 - SQL 파싱 부하 SQL 파싱 부하1. SQL 처리과정사용자는 구조화된 질의언어 SQL 을 통해 사용자가 원하는 결과집합을 정의DBMS는 사용자의 SQL을 SQL옵티마이저를 통해 실행계획으로 작성해줌가. SQL 파싱SQL을 실행하면 제일먼저 SQL 파서가 SQL 문장에 오류가 없는지 검사문법적 오류가 없다면 의미상 오류가 없는지 검사검사후, 사용자가 발생한 SQL과 실행계획이 라이브러리 캐시에 캐싱되어 있는지 확인캐싱되어 있다면 소프트파싱(SQL과 실행계획을 캐시에서 찾아 곧바로 실행단계로 넘어가는 경우), 캐싱되어 있지 않다면 하드파싱(SQL과 실행계획을 캐시에서 찾지 못해 최적화 과정을 거치고 나서 실행단계로 넘어가는 경우)라이브러리는 해시 구조로 관리됨 (SQL문장을 해시값 만드는 키로 사용)2. 캐싱된 SQL 공유.. 2019. 3. 6.
[SQLP] 1장. 아키텍처 기반 튜닝 원리 - 데이터베이스 아키텍처 데이터베이스 아키텍처1. 아키텍처 개관가. 모델링의 정의데이터베이스 : 물리적인 디스크에 저장된 데이터의 집합 인스턴스 : 공유메모리와 이를 엑세스 하는 프로세스의 집합나. SQL Server 아키텍처하나의 인스턴스 당 최고 32,767개의 데이터베이스를 정의해서 사용 시스템 데이터베이스가 만들어지면 사용자 데이터베이스를 추가하여 생성하는 구조시스템 데이터베이스 : mster, model, msdb, tempdb 등사용자 데이터베이스 : 데이터파일(mdf), 트랜잭션 로그파일(ldf), 보조데이터파일(ndf)2. 프로세스서버프로세스 : 전면에 나서서 사용자가 던지는 각종 명령을 처리백그라운드프로세스 : 뒤에서 묵묵히 주어진 역할을 수행가. 서버 프로세스Oracle : Server ProcessSQL Se.. 2019. 3. 5.
SQL 최적화 기본 원리 (옵티마이저와 실행계획, 인덱스, 조인수행원리) 옵티마이저와 실행계획옵티마이저디양한 실행 방법들 중에서 최적의 실행 방법을 결정하는 것 규칙기반 옵티마이저 (RBO, Rule Based Optimizer)비용기반 옵티마이저 (CBO, Cost Based Optimizer) R-DB 대부분 비용기반!! 가. 규칙기반 옵티마이저규칙 1. Single row by rowid : rowId를 통해서 테이블에서 하나의 행을 엑세스규칙 4. Single row by unique or primary key : 유일 인덱스(Unique Index)를 통해서 하나의 행을 엑세스 (PK)규칙 8. Composite index : 복합 인덱스에 동등 조건으로 검색 A=1 B=2 우선순위 A+B 더 높음 > A+B+C (A, B가 =조건있기 때문)규칙 9. Single c.. 2019. 3. 4.