- B: 데이터 페이지의 개수
- R: 페이지에 속한 레코드의 개수
- D: 디스크 페이지를 하나를 읽는 시간
- C: 한 레코드를 처리하는데 걸리는 시간
- H: 한 레코드에 해시 함수를 적용하는데 걸리는 시간
해시 파일 : 해시함수를 통해 데이터를 한 번에 찾아낼 수 있는 구조

⬅ ⭐ 중요 ⭐
BUT, 해시는 테이블을 저장하는 효율적인 자료구조 X(트리 / 힙 / ISAM 형태가 효율적 O)
색인 순차 접근 방식 ISAM, Indexed Sequential Access Method : 빠른 데이터 검색을 위한 파일 시스템 구조

인덱스
= 해당 파일의 기본적인 레코드 조직법으로는 효율적으로 지원되지 않는 연산의 속도를 높이기 위해 사용되는 보조적인 구조
= 테이블의 검색 속도를 늘리기 위한 보조 자료 구조
RID = 페이지 번호 + 레코드 번호
클러스터드 인덱스 Clustered Index
= 행의 물리적인 순서를 기본 키의 순서와 일치시킴
= 파일 자체가 정렬되어 있는 인덱스와 같이 정렬된 자료구조를 가짐
밀집 인덱스 Dense Index = 인덱스 된 파일의 레코드에 나타나는 탐색 키 값 모두에 하나씩의 엔트리를 구성해 놓는 인덱스
희소 인덱스 Sparse Index = 데이터 파일의 페이지 별로 하나의 엔트리를 구성하는 인덱스
MSSQL 에서 인덱스 힌트를 어떻게 주는가?
➔ WITH (INDEX(index_name)) 구문을 사용하여 특정 쿼리에 대해 사용할 인덱스를 명시하는 것
➔ 인덱스 힌트는 쿼리 성능을 조정할 때 유용하지만, 과도하게 사용하면 문제를 일으킬 수 있으므로 주의할 것
인덱스 힌트 사용 예시
- 단일 인덱스 힌트 : SELECT * FROM your_table WITH (INDEX(index_name)) WHERE some_column = 'value';
- 복수 인덱스 힌트 : SELECT * FROM your_table WITH (INDEX(index1, index2)) WHERE some_column = 'value';
- 테이블 힌트와 함께 사용 : SELECT * FROM your_table WITH (NOLOCK, INDEX(index)) WHERE some_column = 'value';
주의 사항
- 쿼리 최적화기: 인덱스 힌트를 사용 시, SQL Server의 쿼리 최적화기가 최적의 실행 계획을 선택하는 것을 방해위험으로 주의!
- 성능 테스트: 인덱스 힌트를 적용한 후 쿼리 성능을 반드시 테스트하여 효과 확인!
- 유지보수: 데이터베이스 구조나 인덱스가 변경되면 인덱스 힌트가 필요 없거나 비효율적일 수 있으므로 주기적으로 검토!
관계 해석식 = 원하는 데이터가 무엇인지만 선언하는 이른바 비절차적 언어 ( 튜플 관계 해석 + 도메인 관계 해석 )
관계 대수식 = 기존 릴레이션(테이블)들로부터 새로운 릴레이션을 생성하는 절차적 언어 문법


DELETE : 행 데이터 삭제
TRUNCATE : 행 전체 삭제, 잘라내기
DROP : 테이블 전체 삭제
















































































'✎NHN Academy | JAVA' 카테고리의 다른 글
| NHN Academy - 2024.10.08(Tue) (1) | 2024.10.08 |
|---|---|
| NHN Academy - 2024.10.07(Mon) (1) | 2024.10.07 |
| NHN Academy - 2024.10.01(Tue) (1) | 2024.10.01 |
| NHN Academy - 2024.09.30(Mon) (5) | 2024.09.30 |
| NHN Academy - 2024.09.27(Fri) (1) | 2024.09.30 |