[Database] SQL 성능 최적화: 빠른 쿼리를 위한 7가지 체크리스트
·
Database
SQL 성능 최적화는 데이터베이스의 부하를 줄이고 빠른 응답 속도를 유지하는 핵심 기술입니다. 잘못 작성된 SQL 쿼리는 Full Table Scan(전체 테이블 검색)을 유발하며, 이는 성능 저하의 주요 원인이 됩니다.이 글에서는 SQL 쿼리 최적화를 위한 7가지 핵심 체크리스트를 자세히 살펴보겠습니다. 각 항목마다 비효율적인 예제와 최적화된 쿼리 예제를 함께 제공하여, 실제 개발 환경에서 바로 적용할 수 있도록 구성했습니다.1. SELECT * 대신 필요한 컬럼만 조회하기1.1 문제점: SELECT * 사용 시 불필요한 데이터 조회SELECT *를 사용하면 모든 컬럼을 조회하게 되는데, 이는 네트워크 트래픽 증가, 메모리 사용량 증가, 그리고 쿼리 실행 속도 저하로 이어집니다.📌 비효율적인 쿼리--..
[Database] 인덱스를 타지 않는 쿼리 10가지 경우 정리
·
Database
인덱스(Index)는 B-Tree 구조 또는 기타 정렬된 구조를 기반으로 빠르게 데이터를 검색하는 도구입니다. 하지만 특정 조건이나 쿼리 작성 방식에 따라 인덱스가 무시되고 Full Table Scan이 발생합니다. 이러한 상황을 정확히 이해하고, 이를 피하는 것이 데이터베이스 최적화의 핵심입니다.1. 함수나 연산자를 사용하는 경우인덱스가 설정된 컬럼에 함수나 연산자를 사용하면 인덱스를 타지 않고 전체 스캔(Full Scan)이 일어납니다.예제 코드-- 함수 사용SELECT * FROM ExampleTable WHERE UPPER(Name) = 'JOHN';-- 연산자 사용SELECT * FROM ExampleTable WHERE Age + 1 = 30;1.1 Full Scan이 일어나는 이유인덱스는 정..
[Database] 데이터베이스 PK 전략 정리
·
Database
1. PK (Primary Key)전략이란??Primary Key (PK)는 테이블 내에서 각 행을 유일하게 식별하는 데 사용되는 필드입니다. PK는 데이터베이스에서 데이터를 정확하게 조회하고, 수정하며, 삭제하는 데 매우 중요합니다. PK를 생성하는 방법에는 여러 가지가 있지만, 가장 흔한 두 가지는 AUTO_INCREMENT와 UUID입니다.1.1 AUTO_INCREMENT란?AUTO_INCREMENT는 MySQL과 같은 데이터베이스에서 많이 사용되는 기본 키 생성 전략입니다. 데이터가 삽입될 때마다 숫자가 1씩 증가하여 자동으로 기본 키가 생성됩니다.CREATE TABLE member ( id INT AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NO..