인덱스는 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조 입니다. 데이터들에게 인덱스를 지정하면 지정한 인덱스 번호로 빠르게 데이터를 찾을 수 있도록 되어 있습니다.
인덱스 테이블이 생성되므로 메모리를 많이 소모하게 되고 Select를 제외한 Insert, Update, Delete에 대한 성능 저하가 있기 때문에 PK같은 컬럼들을 인덱싱 하도록 하는 것이 좋습니다.
중복을 최소화 하기 위해 데이터를 구조화하는 프로세스 입니다. 데이터간 종속 관계가 잘못되어 데이터베이스 이상 현상이 생겼을 때 해결할 때도 사용되는 프로세스 입니다.
데이터베이스에서 사용하기 위한 하나의 논리적 단위를 말하며 이는 여러 개의 쿼리문을 하나의 단위로 묶는 것을 말합니다. 이에 대한 특징들로 원자성, 일관성, 독립성, 지속성의 특징이 있는데 이것을 줄여서 ACID특징이라고 합니다.
원자성(Atomicity) : 트랜잭션과 관련된 일이 모두 수행되었거나 되지 않았거나를 보장하는 특징입니다.
일관성(Consistency) : 허용된 방식으로만 데이터를 변경해야 하는 것을 의미합니다.
독립성(Isolation) : 트랜잭션 수행 시 서로 끼어들지 못하는 것을 말합니다.
지속성(Durability) : 성공적으로 수행된 트랜잭션은 영원히 반영되어야 하는 것을 의미합니다.