반응형
인덱스
테이블의 검색 속도를 향상시키기 위한 자료구조
- 장점: 검색 속도 향상
- 단점
- 인덱스를 저장하기 위한 추가적인 공간 필요
- 잘못 사용할 경우 오히려 비효율적인 검색
인덱스로 사용하면 좋은 컬럼
- 규모가 작지 않은 테이블
- 자주 inser, update, delete가 발생하지 않는 컬럼 → 자주 변경이 발생하지 않는 컬럼, 유지비용 절감
- join , where, order by 에 자주 사용되는 컬럼 → 정렬, 검색, 조인에서 효율을 높일 수 있음
- 데이터의 중복도가 낮은 컬럼
예를 들어 검색 조건에 자주 사용되는 주문 번호, 사용자 ID, 날짜 조건 등등이 포함되는데 인덱스의 생성, 업데이트, 삭제등에 오버헤드가 발생할 수 있기 때문에 필요한 인덱스만 잘 설정하고 데이터베이스의 사용 패턴과 요구사항을 고려하여 결정하는 것이 중요함
트랜잭션과 무결성
트랜잭션: 데이터베이스에서의 하나의 논리적 기능을 수행하기 위한 작업의 단위 → 즉 여러개의 쿼리를 하나로 묶는 단위
- ACID 특징
- 원자성 (all or nothing): 모든 일이 수행되거나 되지 않음
- 계좌이체 과정에서 이체했는데 오류 발생한 경우 이체도, 수신도 모두 되지 않음
- 계좌이체 과정에서 이체에 성공한 경우 이체, 수신 모두 성공함
- 커밋 / 롤백으로 트랜잭션 관리
- 일관성: 데이터베이스의 모든 값들이 가지는 조건, 규칙
- 잔고가 0원이면 계좌이체를 할 수 없음
- 독립성: 트랜잭션 수행시 서로 끼어들지 못함
- 지속성: 성공적으로 수행된 트랜잭션은 영원히 유지되어야 함 (시스템 장애시 복구하는 회복기능 있어야함)
- 체크섬,저널링, 롤백등의 기능
- 원자성 (all or nothing): 모든 일이 수행되거나 되지 않음
무결성: 데이터의 정확성, 일관성, 유효성을 유지하는 것
- 개체 무결성
- 참조 무결성
- 고유 무결성
- null 무결성
반응형
'Today I Learned > 컴퓨터기초' 카테고리의 다른 글
네트워크 배우면 까먹고 배우면 까먹고 ,, 기본 개념 확실히 정리하기 (1) (0) | 2023.10.12 |
---|---|
메모리 계층 구조와 In-Memory DB (Redis) 특징 (0) | 2023.08.30 |
빅오(big-O) , 시간복잡도 (0) | 2023.08.21 |
[컴퓨터 기초] 인터넷 관련 용어 정리 (0) | 2023.08.16 |
운영체제 (Operating System) 개념 (0) | 2023.06.21 |