database 5

[SQL 튜닝] 3. 인덱스 튜닝

책 [친절한 SQL 튜닝; 조시형 지음]을 참고하여 작성하였습니다. 1. TABLE ACCESS BY INDEX ROWID 인덱스 ROWID는 사실 논리적 주소에 가깝다. 타고 타고 넘어가는 거기 때문에 빠르지 않다. 메인 메모리 DB는 데이터를 모두 메모리에 로드해 놓고 메모리를 통해서만 I/O를 수행하는 DB다. 디스크를 경유하지 않고 대부분 데이터를 메모리에서 읽는다는 뜻이다. 디스크에 저장된 데이터를 버퍼캐시로 로딩하고 이어서 인덱스를 생성한다. 인덱스는 디스크 상의 주소정보를 갖는 게 아니라, 메모리상의 주소정보를 갖는다. 이에 비해 일반 DBMS는 메모리 주소정보가 아닌, 디스크 주소정보(DBA)를 이용해 해시 알고리즘으로 버퍼 블록을 찾아간다.인덱스로 테이블 블록을 액세스할 때는 액세스..

database 2025.05.02

[SQL 튜닝] 2. 인덱스 기본

책 [친절한 SQL 튜닝; 조시형 지음]을 참고하여 작성하였습니다. 인덱스 Range Scan은 리프 블록에서 스캔 시작점을 찾아 거기서부터 스캔하다가 중간에 멈추는 것이다. (시작점과 끝점이 있다는 이야기) 애초에 인덱스가 정렬되어 있기 때문에 가능하다. 인덱스 Range Scan 하려면 인덱스 선두 컬럼이 가공되지 않은 상태로 조건절에 있어야 한다.반대로 말하면, 인덱스 선두 컬럼이 가공되지 않은 상태로 조건절에 있으면 인덱스 Range Scan은 무조건 가능하다. 하지만 인덱스를 사용할 수 없는 조건은 다음과 같다. 변형notnulllike orin'인덱스를 탄다'는 표현은 '인덱스 Range Scan 한다'와 같은 의미다. 인덱스를 정말 잘 타는지는 인덱스 리프 블록에서 스캔하는 양을 따져봐..

database 2025.04.28

[database] 엔티티, 릴레이션, 튜플, 카디널리티

릴레이션이차원 테이블 형태로 데이터를 저장하는 엔티티의 집합엔티티독립적으로 존재할 수 있는 객체로 데이터베이스에서 저장 및 관리되는 데이터 단위도메인엔티티의 속성이 가질 수 있는 값의 범위 튜플 (=레코드)릴레이션의 각 행을 레코드라고 하는데 레코드를 더 공식적으로 튜플로 부름카디널리티릴레이션 튜플의 개수스키마데이터베이스에 저장되는 데이터의 구조와 제약 조건을 정의하는 구조데이터베이스를 구성하는 데이터 개체, 속성, 관계 및 데이터 조작 시 데이터 값들이 갖는 제약 조건등에 관해 전반적으로 정의cf. https://hoyeonkim795.github.io/posts/db-%EC%9A%A9%EC%96%B4/ [Database] 데이터베이스 용어 - 릴레이션, 어트리뷰트, 튜플, 도메인, 차수, 카디널리티,..

database 2025.02.04

[database] 정규화 개념 및 종류별 테이블 비교

이 글은 수제비2024 정보처리기사 실기 책의 이론을 정리하되, 예시 테이블은 다시 재구성하였습니다. 이상 현상(Anomaly)- 데이터의 중복성으로 인해 릴레이션(테이블)을 조작할 때 발생하는 비합리적인 현상삽입 이상: 정보 저장 시 해당 정보의 불필요한 세부정보를 입력해야 하는 경우[삽입 이상]이름전화번호차량번호홍길동010-1111-1111가123김철수010-2222-2222NULL인적사항을 등록할 때 본인 소유의 차량번호를 기재해야 한다면 자가용이 없는 김철수는 해당란에 NULL을 입력해야 한다.  삭제 이상: 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우[삭제 이상]이름 학과 기숙사 번호기숙사 이름홍길동영어영문학과 1한얼관김철수 컴퓨터공학과2한빛관김철수의 정보를 삭제하려할 때 기숙사 정..

database 2024.04.28