다음 상황에서 인덱스 생성/삭제에 대한 설명으로 올바른 것은?

과목: MySQL

문제 번호: 3257

hard
다음 상황에서 인덱스 생성/삭제에 대한 설명으로 올바른 것은?
-- 현재 상황
CREATE TABLE Orders (
    OrderID int PRIMARY KEY,
    CustomerID int,
    OrderDate date,
    TotalAmount decimal(10,2)
);

-- 다음 작업들을 순서대로 수행
-- 1단계: CREATE INDEX idx_customer ON Orders (CustomerID);
-- 2단계: CREATE UNIQUE INDEX idx_order_date ON Orders (OrderDate);
-- 3단계: ALTER TABLE Orders DROP INDEX idx_customer;
A. 2단계에서 오류 발생 - OrderDate에 UNIQUE INDEX를 생성할 수 없음
B. 3단계에서 오류 발생 - DROP INDEX 문법이 틀림
C. 모든 단계가 성공적으로 실행됨
D. 1단계에서 오류 발생 - CustomerID에 인덱스를 생성할 수 없음

정답: C



⦁ 제시된 모든 작업이 올바른 문법과 조건을 만족하므로 성공적으로 실행됩니다

⦁ 각 단계별 분석:

⦁ 1단계: CREATE INDEX idx_customer ON Orders (CustomerID);
⦁ 일반 인덱스 생성
⦁ CustomerID 검색 성능 향상 목적
⦁ 중복 값 허용 (같은 고객이 여러 주문 가능)
⦁ 결과: 성공

⦁ 2단계: CREATE UNIQUE INDEX idx_order_date ON Orders (OrderDate);
⦁ 고유 인덱스 생성
⦁ 같은 날짜에 하나의 주문만 허용하는 정책
⦁ 비즈니스 요구사항에 따라 가능한 시나리오
⦁ 결과: 성공 (기존 데이터가 조건 만족 시)

⦁ 3단계: ALTER TABLE Orders DROP INDEX idx_customer;
⦁ 올바른 인덱스 삭제 문법
⦁ MySQL에서 인덱스 삭제 시 ALTER TABLE ... DROP INDEX 사용
⦁ 결과: 성공

💡 학습 팁

이 문제를 포함한 MySQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.