일련의 쿼리를 하나의 함수처럼 실행하기 위한 쿼리의 집합
객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것
객체지향 프로그램에서 클래스를 생성하고, 관계형 데이터베이스의 테이블의 내용을 매핑
1.SQL Mapper
SQL을 명시하여 단순히 필드의 매핑시키는 것이 목적
iBatis. Mybatis, jdbc, Templetes 등
프로그램 디버깅의 개념
개발 단계 중에 발생하는 시스템의 논리적인 오류나 비정상적 연산을 찾아내고,
그 원인을 밝혀 수정하는 작업과정
단위테스트의 개념
프로그래밍에서 특정 기능의 소스코드가 의도한 대로 정확히 동작하는지 검증하는 절차
쿼리(Query) 성능 측정
쿼리 성능 측정의 개념
쿼리문의 응답시간, 해당 쿼리가 실행될 때 사용된 CPU, 메모리 자원 사용 등을 측정(Select)
SQL 처리 흐름
SQL -> 구분분석(Parsing) -> 실행(Execution) -> 인출(Fetch) -> 결과
Insert,Update,Delete 는 실행까지만
Select는 인출까지
구문분석 단계
SQL 문이 문법에 따라 정상적으로 작성되었는지 분석하고, SQL 내에 포함된 테이블, 뷰 등이
데이터베이스에 존재하는지 확인
실행 단계
SQL 문에서 사용된 데이터가 버퍼캐시 영역에 존재하는지 검색
데이터버퍼 캐시영역에 존재한다면, 테이블의 해당 데이터 파일로부터 테이블을 읽지 않고 캐시영역의 데이터를 그대로 추출
존재하지 않는다면 정의된 테이블의 해당 데이터 파일로부터 테이블을 읽어서 데이터버퍼 캐시영역에 저장
인출 단계
SELECT문을 실행하는 경우에만 인출단계가 실행되고, UPDATE, INSERT, DELETE문 실행 시는 인출단계는 실행되지 않는다.
SQL 성능 최적화를 위한 유틸리티
SQL Trace
TKPROF(Trace Kernel PROFile)
EXPLAIN PLAN
SQL 성능 개선 절차
1. 문제 있는 SQL 식별 - 쿼리 식별
2. 옵티마이저 통계 확인
3. SQL문 재구성 - 힌트를 이용
4. 인덱스 재구성
5. 실행계획 유지관리
소스코드 인스펙션 개념
프로그램 소스를 실행하지 않고, 코드 상에 존재하는 잠재적인 오류 / 표준 등을 찾아내고
이를 개선하는 일련의 과정
코드 인스펙션 절차
1. 계획
2. 개관(사전교육)
3. 준비
4. 검사(인스펙션 회의)
5. 재작업(수정)
6. 추적(후속조치)
동료검토, 워크스루, 인스펙션 -> 리팩토링