728x90
반응형
MySQL의 인덱스에 대해 살펴보면서, 실제 예제를 통해 어떻게 성능을 향상시킬 수 있는지 알아보겠습니다.
인덱스가 왜 필요한가요?
데이터베이스에서 인덱스는 데이터를 빠르게 찾을 수 있도록 도와주는 도구입니다. 예를 들어, 사용자 테이블에서 특정 이메일 주소를 가진 사용자를 찾는다고 가정해봅시다.
-- 인덱스 없이 검색
SELECT * FROM users WHERE email = 'example@email.com';
만약 이 테이블에 수천 개의 행이 있다면 검색이 느려질 수 있습니다. 이때 인덱스를 사용하면 훨씬 빠르게 원하는 결과를 얻을 수 있습니다.
단일 컬럼 인덱스 예제
-- 이메일 컬럼에 단일 인덱스 생성
CREATE INDEX idx_email ON users(email);
이제 같은 쿼리를 수행하면,
-- 인덱스를 사용한 검색
SELECT * FROM users WHERE email = 'example@email.com';
훨씬 빠른 결과를 얻을 수 있습니다.
복합 인덱스 예제
때로는 여러 컬럼을 조합해야 하는 경우가 있습니다. 예를 들어, 이름과 성을 기준으로 사용자를 찾는다면,
-- 이름과 성에 복합 인덱스 생성
CREATE INDEX idx_name_lastname ON users(name, lastname);
그리고 쿼리를 실행하면,
-- 복합 인덱스를 사용한 검색
SELECT * FROM users WHERE name = 'John' AND lastname = 'Doe';
검색 속도가 향상됩니다.
주의사항
인덱스를 사용하면 읽기 속도는 향상되지만, 쓰기 연산은 조금 느려질 수 있습니다. 따라서 어떤 컬럼에 인덱스를 생성할지 신중하게 결정해야 합니다.
728x90
반응형
'데이터베이스' 카테고리의 다른 글
MySQL 인덱스의 종류와 성능 향상을 위한 최적화 방법 (0) | 2023.12.13 |
---|---|
MySQL : Join (1) | 2023.11.23 |
MySQL : 정렬 (ORDER) (0) | 2023.11.23 |
MySQL : 그룹핑(GROUP BY) (1) | 2023.11.22 |
MySQL : DELETE 문의 기초 (0) | 2023.11.22 |