SQL에서의 데이터베이스 인덱스 유형 연습문제
SQL에서의 데이터베이스 인덱스 유형 연습문제
문제 1
다음 테이블 구조를 가진 Employees
테이블이 있다고 가정해보겠습니다.
CREATE TABLE Employees (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
department VARCHAR(50)
);
위 테이블에 대한 인덱스를 생성하고자 합니다.
a) name
열에 대한 인덱스를 생성하는 SQL 문을 작성하세요.
b) department
열에 대한 인덱스를 생성하는 SQL 문을 작성하세요.
c) age
열에 대한 고유 인덱스를 생성하는 SQL 문을 작성하세요.
문제 2
아래 테이블 구조를 가진 Products
테이블이 있다고 가정해보겠습니다.
CREATE TABLE Products (
id INT PRIMARY KEY,
name VARCHAR(50),
price DECIMAL(10, 2),
category VARCHAR(50)
);
위 테이블에서 다양한 조회 쿼리를 수행해야 합니다. 이를 위해 적절한 인덱스를 생성하는 SQL 문을 작성하세요.
문제 3
다음은 Customers
테이블의 구조입니다.
CREATE TABLE Customers (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(50),
country VARCHAR(50)
);
위 테이블을 사용하여 고객의 이메일 주소를 통해 조회하는 자주 사용되는 쿼리가 있습니다. 이를 위해 인덱스를 생성하는 SQL 문을 작성하세요.
정답
문제 1
a) name
열에 대한 인덱스 생성:
CREATE INDEX idx_name ON Employees (name);
b) department
열에 대한 인덱스 생성:
CREATE INDEX idx_department ON Employees (department);
c) age
열에 대한 고유 인덱스 생성:
CREATE UNIQUE INDEX idx_age ON Employees (age);
문제 2
Products
테이블에 대한 적절한 인덱스 생성:
name
열에 대한 인덱스 생성:CREATE INDEX idx_name ON Products (name);
price
열에 대한 인덱스 생성:CREATE INDEX idx_price ON Products (price);
category
열에 대한 인덱스 생성:CREATE INDEX idx_category ON Products (category);
문제 3
Customers
테이블에서 고객의 이메일 주소로 조회하기 위한 인덱스 생성:
CREATE INDEX idx_email ON Customers (email);
해당 문제들은 SQL에서 인덱스를 생성하는 연습문제입니다. 인덱스를 적절하게 활용하면 데이터베이스 쿼리의 성능을 향상시킬 수 있습니다.
해답은 문제에 주어진 테이블과 열에 대한 인덱스를 생성하는 SQL 문입니다. 쿼리 성능에 따라 각 열에 적절한 인덱스를 생성하여 데이터베이스 시스템의 성능을 향상시킬 수 있습니다.
#인덱스 #SQL