아래의 설명은 모두 MYSQL 기준
DB 테이블에 index를 거는 방법
CREATE INDEX index_name ON table_name (column_name)
CREATE UNIQUE INDEX index_name ON table_name (column_name)
CREATE TABLE player (
id INT PRIMARY_KEY, // RDBMS에서는 pk는 자동으로 index로 설정
name VARCHAR(20) NOT NULL,
team_id INT,
backnumber INT,
INDEX player_name_idx (name), // 단일 컬럼 index 설정
UNIQUE INDEX teamId_and_backnumber_idx (team_id, backnumber) // 복합 컬럼 index 설정
);
SQL 쿼리 수행 시 어떤 index를 사용하는지 알아보는 방법
SELECT * FROM player USE INDEX (backnumber_idx) WHERE ...
SELECT * FROM player FORCE INDEX (backnumber_idx) WHERE ...
SELECT * FROM player IGNORE INDEX (backnumber_idx) WHERE ...