1. 글을 작성하게 된 계기
프로젝트에서 MySQL 인덱스 컨벤션 을 어떻게 정할지에 대해 고민이 있었습니다. 이 과정에서 스택 오버 플로우에 MySQL의 인덱스 컨벤션에 대해 잘 정리된 글이 있어 이를 정리하기 위해 글을 작성하게 되었습니다.
2. MySQL 인덱스 컨벤션
개인적으로 아래 규칙이 가장 괜찮다는 생각이 들었습니다. 물론 이는 공식 문서에 명시된 규칙은 아니기 때문에 팀마다 다를 수 있습니다.
1
[index or key type]_[table name]_[column 1]_[column 2] ...... [column n]
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE users(
user_id int,
name varchar(100)
);
CREATE TABLE messages(
message_id int,
user_id int
);
CREATE INDEX idx_users_name ON users(name);
3. 정리
INDEX 이름을 지을 때 아래와 같은 컨벤션을 적용하면 됩니다. 단, 이는 공식 문서에 지정된 규칙이 아니기 때문에 유동적으로 바꿀 수 있습니다.
1
[index or key type]_[table name]_[column 1]_[column 2] ...... [column n]