-
하드웨어 튜닝
-
5-분(5-Minute) 규칙
렌덤하게 접근되는 페이지가 5분내에 한 번 이상 빈번하게 사용된다면, 이것은 메모리 내에 유지되어야 함(충분한 메모리를 구입)
-
1-분(1-Minute) 규칙
순차적으로 접근되는 페이지가 1분 내에 한 번 이상 빈번하게 사용된다면 이것은 메모리 내에 유지되어야 함(충분한 메모리를 구입)
-
RAID 수준 선택
기록이 드물고 데이터가 매우 큰 경우에는 RAID 5가 좋고, 다른 경우에는 RAID 1 이 바람직함
-
-
데이터베이스 설계 튜닝
-
스키마 튜닝
- 가장 빈번하게 접근되는 데이터를 분리하기 위해 릴레이션들을 수직으로 분할(오직 필요한 정보만 가져옴)
- 비정규화된 릴레이션을 저장함으로써 성능을 향상시킴
- 빈번하게 요구되는 조인에서 부합되는 레코드를 같은 디스크 페이지에 함께 클러스터링 함으로써, 조인을 효율적으로 수행할 수 있도록 함
-
인덱스 튜닝
- 느린 질의 및 갱신 속도를 빠르게 하기 위해 적절한 인덱스를 생성
- 불필요한 여분의 인덱스를 제거함으로써, 느린 갱신 속도를 빠르게 함
- 가장 빈번한 형식의 질의들에 대해 적절한 인덱스 타입(B-tree/해시)을 선정
- 클러스터화할 인덱스를 선정
-
실제화(Materialized) 뷰 튜닝
-
트랜잭션 튜닝
-
집합-중심 질의 사용
여러 개의 내장(Embedded) SQL/ODBC/JDBC 질의들을 결합하여 하나의 집합 중심 질의 생성
-
저장 프로시저 사용
질의의 재-파싱과 재-최적화 방지
-
락 경합 감소
- 다중 버전 동시성 제어 기법 사용
- 장기(long) 트랜잭션들에 대해 수준-2 일관성(Cursor-Stability) 사용
-
mini-batch 트랜잭션 사용
- 큰 트랜잭션을 mini-baTch 트랜잭션들로 분할하여 사용
- mini-batch에서는 직렬 가능을 보장하기 위해 락들이 트랜잭션들에 걸쳐서 유지