MySQL 인덱스 퀴즈 - 세트 B
총 7개 문제로 구성된 MySQL 인덱스 학습 퀴즈입니다.
문제 1. 해당 테이블에서 클러스터링 인덱스에 대한 설명으로 올바른 것은?
```sql
CREATE TABLE test_case (
col1 INT NOT NULL UNIQUE,
col2 VARCHAR(100)
) ENGINE=InnoDB;
```
- col1가 클러스터링 인덱스 키가 된다
- col2가 클러스터링 인덱스 키가 된다
- 내부적으로 Row Num을 만들어 클러스터링 인덱스 키로 취급한다.
- 클러스터링 인덱스 키가 존재하지 않는다
문제 2. 해당 테이블에서 클러스터링 인덱스 키에 대한 설명으로 올바른 것은?
```sql
CREATE TABLE test_case (
col1 INT UNIQUE NULL,
col2 VARCHAR(100)
) ENGINE=InnoDB;
```
- col1가 클러스터링 인덱스 키가 된다.
- col2가 클러스터링 인덱스 키가 된다.
- 내부적으로 Row Num을 만들어 클러스터링 인덱스 키로 취급한다.
- 클러스터링 인덱스 키가 존재하지 않는다.
문제 3. 해당 테이블에서 클러스터링 인덱스에 대한 설명으로 올바른 것은?
```sql
CREATE TABLE test_case (
col1 INT UNIQUE NULL,
col2 VARCHAR(100) UNIQUE NOT NULL,
col3 BIGINT
) ENGINE=InnoDB;
```
- col1가 클러스터링 인덱스 키가 된다.
- col2가 클러스터링 인덱스 키가 된다.
- 숨은 Row Id가 클러스터링 인덱스 키로 사용된다.
- 클러스터링 인덱스 키가 존재하지 않는다.
문제 4. MySQL 8.0의 InnoDB 스토리지 엔진에서 **Primary Key (클러스터링 인덱스)** 가 설정된 테이블에 새로운 레코드를 삽입할 때,
해당 클러스터링 인덱스 키는 언제 반영되는가?
- 지연 반영되어 Change Buffer에 먼저 저장된다.
- 즉시 반영되어 B+Tree에 삽입된다.
문제 5. MySQL 8.0의 InnoDB 스토리지 엔진에서 **UNIQUE 제약이 걸린 인덱스**에 대해 새로운 레코드를 삽입할 때,
해당 Unique 인덱스 키는 언제 반영되는가?
- 지연 반영되어 무결성 검사는 나중에 수행된다.
- 즉시 반영되어 중복 여부를 즉시 검사한다.
문제 6. MySQL 8.0의 InnoDB 스토리지 엔진에서 **UNIQUE 제약이 없는 일반 보조 인덱스**에 대해 새로운 레코드를 삽입할 때,
보조 인덱스 키는 어떻게 처리되는가? (단, 변경 대상인 보조인덱스 페이지가 버퍼풀에 존재하지 않는다고 가정한다)
- 즉시 반영되어 B+Tree에 삽입된다.
- 지연 반영되어 Change Buffer에 저장된 후 나중에 반영된다.
문제 7. MySQL 8.0의 InnoDB 스토리지 엔진에서 하나의 레코드를 삭제할 때,
레코드에 해당하는 보조 인덱스(Secondary index)의 삭제는 어떤 방식으로 처리되는가
- 보조 인덱스 키는 즉시 물리적으로 삭제된다.
- 보조 인덱스 키는 논리적으로만 삭제되고 실제 페이지에서는 그대로 남는다.
다른 퀴즈 세트 보기