기타/🚪 DB

효율적인 테이블 설계 방법

둥굴둥굴둥굴레차 2021. 10. 18. 09:19

1. 저장할 데이터에 맞게 최대한 작은 데이터 타입을 사용해야 한다.

2. 컬럼에서 DEFUALT NULL을 최대한 허용하지 말기.

 

추가적으로, 선언과 동시에 초기화 해주는 것이 좋은 습관이다.

초기화 해주지 않으면 false, true, null이 들어갈 수 있는 값이 되기 때문.

 

Boolean aa; 

위 보단 아래와 같이 초기화해주자.

Boolean aa = true;

 

 

3. 가변적 데이터 타입 보다 고정형의 데이터 타입을 선택하자.

- varchar보다 char를 사용하자

 

MySQL - 자료형 CHAR와 VARCHAR의 차이점

MySQL 자료형 CHAR,VARCHAR   문자열 자료형 - CHAR, VARCHAR 자료형  의미  대응하는 범위  CHAR  고정형 문자열  255자 까지  VARCHAR                가변형 문자열          ..

hack-cracker.tistory.com

4. PK는 작은 데이터형으로 잡자. (AUTO_INCREMENT 최대한 사용하자)

pk잡을 때 unsigned를 선언해줄 수 있는데, PK값의 경우 음수는 사용하지 않기 때문에 필요없는 부분이라 숫자의 범위를 양수로 옮겨주는 unsigned를 사용해주면 범위가 반으로 줄게 된다.

CREATE TABLE `example` (
    `column` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
    ...
    ... )

5. 모든 데이터는 정규화를 반드시 해야한다. (정규화 방법 참조)

6. 인덱스는 필요한 경우만 사용하자.