2023/11/26 4

[Real MySQL] 15-4. 데이터 타입: JSON

백은빈, 이성욱 님의 "Real MySQL" 책을 정리한 포스팅 입니다. 1. JSON이진 형태일반적인 문자열 저장 방식보다 빠른 검색 및 업데이트 가능 BSON (Binary JSON)NoSQL에서 사용하는 JSON의 바이너리 표현내부적으로 JSON 데이터를 BSON 형식으로 변환하여 읽고 씀 BLOB데이터가 작을 경우, 하나의 페이지에 저장됨데이터가 클 경우, 여러 페이지로 나뉘어 저장됨 (최대 4GB까지) 구조JSON 정보JSON 타입, 애트리뷰트 수, 총 데이터 길이 Key - Value주소(offset), 길이, 값, (타입) 2. 명령어생성CREATE TABLE employees ( id INT AUTO_INCREMENT PRIMARY KEY, info JSON NOT NULL); ..

Database/Mysql 2023.11.26

[Real MySQL] 15-3. 데이터 타입: 날짜와 시간

백은빈, 이성욱 님의 "Real MySQL" 책을 정리한 포스팅 입니다. 1. 날짜와 시간타입설명저장 크기 (byte)YEAR연도만 저장 (YYYY)1 byteDATE날짜 (YYYY-MM-DD)3 byteTIME시간 (HH:MM:SS)3 ~ 5 byteTIMESTAMP날짜 + 시간 (UTC 기준)4 ~ 7 byteDATETIME날짜 + 시간 (로컬 시간 기준)5 ~ 8 byte 2. 밀리초 저장괄호괄호안의 숫자는 밀리초 자리 수를 의미함최대 6자리까지 표현할 수 있습니다.2자리당 1바이트씩 공간이 필요합니다. 예더보기DATETIME(6) 3. 타임존날짜 타입타임존 정보가 포함되지 않음클라이언트로부터 입력된 값을 그대로 저장하고 조회합니다. 시간 타입항목TIMESTAMPDATETIME타임존 처리✅❌저장 기..

Database/Mysql 2023.11.26

[Real MySQL] 15-2. 데이터 타입: 숫자

백은빈, 이성욱 님의 "Real MySQL" 책을 정리한 포스팅 입니다. 1. 정확도구분설명대표 타입참값입력한 값을 정확히 그대로 저장하고 조회INTEGER, DECIMAL근삿값 (부동소수점)저장된 값이 입력값과 유사하지만 정확하지 않을 수 있음FLOAT, DOUBLE 2. 포맷포맷 종류설명대표 타입이진 표기법숫자를 2진수(binary)로 변환하여 저장메모리 효율 높음INTEGER, FLOAT, DOUBLE십진 표기법숫자의 각 자릿값을 4비트(BCD) 또는 1바이트 단위로 저장정밀도 높음DECIMAL 3. 정수타입크기 (byte)최솟값최댓값TINYINT1–128127SMALLINT2–32,76832,767MEDIUMINT3–8,388,6088,388,607INT4–2,147,483,6482,147,483..

Database/Mysql 2023.11.26

[Real MySQL] 15-1. 데이터 타입: 문자열

백은빈, 이성욱 님의 "Real MySQL" 책을 정리한 포스팅 입니다. 1. 저장 공간타입항목CHARVARCHAR저장 방식고정 길이가변 길이 (입력한 데이터 길이 + 길이 접두사 저장)남는 공간 처리부족한 공간은 공백으로 채움남는 공간 없음검색 속도빠름느림 (길이 접두사로 인한 오버헤드)길이 접두사없음있음 (255B 이하: 1바이트, 256B 이상: 2바이트)저장 공간 제한최대 255자row 최대 크기내에서 가능 (길이 접두사 포함)전체 Row 크기 제한상대적으로 영향 적음다른 컬럼 사용량에 따라 제한됨 (여유 공간 내에서 사용 가능) 2. 대용량64KB 이상의 데이터를 저장할 때 사용가변 길이 타입별도의 공간에 저장됨 타입항목TEXTBLOB데이터 용도문자열 데이터이진 데이터 (이미지, 파일 등)문자 ..

Database/Mysql 2023.11.26