SQL 성능 최적화 연습문제

SQL 성능 최적화는 데이터베이스의 성능을 향상시키기 위해 필요한 과정입니다. 성능 최적화를 수행하면 쿼리의 실행 시간을 단축하고 시스템 자원을 효율적으로 활용할 수 있습니다. 이번에는 몇 가지 실전 연습문제를 통해 SQL 성능 최적화 기술을 익혀보겠습니다.

1. 인덱스 활용하기

인덱스는 데이터베이스의 검색 속도를 향상시키는 데에 중요한 역할을 합니다. 인덱스를 효과적으로 사용하기 위해서는 다음과 같은 사항들을 고려해야 합니다.

연습문제

다음 테이블과 인덱스를 고려하여 쿼리를 작성하고 실행 시간을 비교해보세요.

CREATE TABLE customers (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    address VARCHAR(200)
);

CREATE INDEX idx_customers_age ON customers (age);
  1. 50살 이상인 고객의 이름을 검색하는 쿼리를 작성하세요. 인덱스를 적용하여 최적화해야 합니다.
  2. 주소가 ‘Seoul’인 고객의 수를 세는 쿼리를 작성하세요. 인덱스를 적용하여 최적화해야 합니다.

2. 조인 최적화하기

조인은 여러 테이블 간의 관계를 맺어 데이터를 효율적으로 조회하는 데에 사용됩니다. 조인의 성능을 최적화하기 위해서는 다음과 같은 방법들을 활용할 수 있습니다.

연습문제

다음 테이블과 쿼리를 고려하여 조인을 최적화해보세요.

CREATE TABLE orders (
    id INT PRIMARY KEY,
    customer_id INT,
    product_id INT,
    quantity INT,
    order_date DATE
);

CREATE TABLE customers (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    address VARCHAR(200)
);

CREATE TABLE products (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    price INT
);

SELECT customers.name, products.name, orders.quantity
FROM customers
JOIN orders ON customers.id = orders.customer_id
JOIN products ON orders.product_id = products.id
WHERE customers.age >= 30
  1. 위 쿼리의 실행 계획을 분석하고, 어떤 부분에서 성능 저하가 발생하는지 확인해보세요.
  2. 조인 순서를 변경하거나 복합 인덱스를 생성하여 쿼리의 성능을 향상시킬 수 있는 방법을 찾아보세요.

마무리

SQL 성능 최적화는 데이터베이스의 성능을 향상시키는 데에 중요한 역할을 합니다. 인덱스와 조인을 효과적으로 활용하면 쿼리의 실행 시간을 단축하고 시스템 자원을 최대한 활용할 수 있습니다. 이번 연습문제를 통해 실전적인 SQL 성능 최적화 기술을 익혀보세요.


참고 자료:

#SQL #성능최적화