Java, IntelliJ/Spring

MySQL Datatype 데이터 타입

고로케 2021. 7. 20.
반응형

 

 

MySQL에서 지원하는 데이터 형(MySQL DataTypes)

형태데이터형범위크기

숫자형 TINYINT -128 ~ 128 , 0 ~ 255 1 Byte
SMALLINT -32768 ~ 32767 , 0 ~ 65535 2 Byte
MEDIUMINT -8388608 ~ 8388607, 0 ~ 16777215 3 Byte
INT, INTEGER -2147483648 ~ 2147483647, 0 ~ 4294967295 4 Byte
BIGINT -9223372036854775808 ~ 9223372036854775807
0 ~ 18446744073709551615
8 Byte
FLOAT -3.402823466E+38 ~ -1.175494351E-38
1.175494351E-38 ~ 3.402823466E+38
4 Byte
DOUBLE [PRECISION], REAL 1.7976931348623157E+308 ~ -2.2250738585072014E-308
0 ~ 2.2250738585072014E-308
8 Byte
DECIMAL(M,D), NUMERIC(M,D) 데이터 베이스 설정 및 시스템에 따라 다름 가변적 크기
날자형 DATE '1000-01-01' ~ '9999-12-31' 3 Byte
TIME '-838:59:59' ~ '838:59:59' 3 Byte
DATETIME '1000-01-01 00:00:00' ~ '9999-12-31 23:59:59' 8 Byte
TIMESTAMP '1970-01-01 00:00:01' ~ '2038-01-19 03:14:07' 4 Byte
YEAR 1901 ~ 2155 1 Byte
문자(열)형 CHAR(M) 1~ 255 개의 문자 M <= 255 Byte
BINARY(M) 1 ~ 255 개의 문자 M Byte
VARCHAR(M), VARBINARY(M) 1 ~ 255 개의 문자 M Byte
TINYBLOB, TINYTEXT 최대 2^8 입력된 길이 만큼
BLOB, TEXT 최대 2^16 입력된 길이 만큼
MEDIUMBLOB, MEDIUMTEXT 최대 2^24 입력된 길이 만큼
LONGBLOB, LONGTEXT 최대 2^32 입력된 길이 만큼
ENUM 최대 65525 개 1 ~ 2 Byte
SET 최대 64 개의 셋 1 ~ 8 Byte

효율적인 테이블 설계 방법 요약 
1. 저장할 데이터에 맞게 최대한 작은 데이터 타입을 사용해야 합니다. 
2. 컬럼에서 DEFAULT NULL을 최대한 허용하지 마세요
3. 가변적인 데이터타입 보다 고정형의 데이터 타입을 선택하세요
4. PRIMARY KEY는 작은 데이터형으로 잡습니다. (AUTO_INCREMENT 최대한 사용)
5. 모든 데이터는 정규화를 꼭 해야 합니다.
6. 인덱스는 필요한 경우만 사용합니다. 

 

데이터 타입을 참고하고 테이블 설계할 때 고려해야할 사항들을 체크해야겠다.

 

 

 

출처 https://yongji.tistory.com/23

반응형

댓글