%3C/text%3E%3C/svg%3E">
💻
💻 IT·개발

데이터베이스 테이블 크기 추정기

입력하면 바로 계산됩니다.

입력값

데이터베이스 테이블 크기 추정기 쉽게 이해하기 — 개념과 원리

큰 테이블을 만들기 전에 디스크가 대략 얼마나 필요한지 알아 두면 좋습니다. 이 추정기는 행 수에 평균 행 크기를 곱하고, 저장 페이지마다 비워 두는 공간을 반영한 뒤, 인덱스 몫을 비율로 더합니다. 데이터베이스 관리자와 개발자가 용량 계획, 인스턴스 저장소 선택, 백업·복제 용량 추정에 씁니다.

데이터베이스 테이블 크기 추정200바이트 행 1,000만 개는 2.0GB이고, 페이지를 90%만 채우면 2.22GB, 인덱스 50%를 더하면 약 3.33GB입니다.행이 페이지를 채우고, 인덱스가 더해집니다10,000,000행 × 200B= 순수 행 데이터 2.0GB페이지마다 90%만 채움2.0 ÷ 0.9= 2.22 GB데이터 + 인덱스 50%데이터 2.22인덱스 1.11디스크 약 3.33GB2.22 × 1.5 = 3.33 GB
페이지의 빈 공간과 인덱스가 순수 2GB 위에 더해집니다.

계산 방법

채움률(fill factor)은 각 페이지에서 행으로 채우는 비율이며 나머지는 빈 공간으로 둡니다. 크기는 십진 단위 GB(1GB = 10⁹바이트)입니다.

원리

관계형 데이터베이스는 행을 고정 크기 페이지에 저장합니다. PostgreSQL은 8kB, MySQL InnoDB는 기본 16KB입니다. 페이지는 수정에 대비해 일부러 여유를 두거나, 삭제와 페이지 분할 때문에 꽉 채워지지 않는 경우가 많습니다. 페이지의 90%만 데이터가 차 있다면 테이블은 원래 바이트의 1 ÷ 0.9 ≈ 1.11배 공간이 필요합니다. 인덱스는 보통 B-트리 구조로 따로 저장되며 인덱스 열 값과 각 행을 가리키는 포인터를 담습니다. 크기가 인덱스 개수와 키 너비에 따라 달라지므로 테이블 크기의 비율로 잡는 것이 실용적인 방법입니다.

예제 풀이

  1. 입력값은 10,000,000행, 행당 200바이트, 인덱스 오버헤드 50%, 채움률 90%입니다.
  2. 원시 데이터는 10,000,000 × 200 = 2,000,000,000바이트입니다.
  3. 채움률을 반영하면 2,000,000,000 ÷ 0.9 ≈ 2,222,222,222바이트, 곧 2.22GB입니다.
  4. 인덱스를 더하면 2.222 × 1.5 = 3.33GB입니다.
페이지 채움률 (%) 값에 따른 데이터 크기 (GB) 변화페이지 채움률 값에 따른 데이터 크기 변화024681022.54567.590112135180예제 값: 2.222222222페이지 채움률 (%)
다른 값은 그대로 두고 “페이지 채움률 (%)”만 바꿔 계산기를 다시 돌린 결과입니다. 금색 점이 예제 값이며, 위에 값을 입력하면 내 값으로 다시 그려집니다.
페이지 채움률 (%)데이터 크기 (GB)
22.58.888888889
454.444444444
67.52.962962963
902.222222222
1121.777777778
1351.481481481
1801.111111111

결과 해석

결과는 최소한의 출발점으로 보십시오. 실제 엔진은 행마다 추가 공간을 씁니다. PostgreSQL은 행마다 약 23바이트의 튜플 헤더와 4바이트 줄 포인터를 두며, 가변 길이 열과 정렬용 패딩도 더해집니다. 디스크는 데이터 증가, 임시 파일, 로그(WAL·redo), 테이블이나 인덱스를 다시 만드는 유지 보수 작업에 필요한 여유까지 고려해 잡아야 합니다.

흔한 실수

주의: 대략적인 추정입니다. 압축, TOAST 같은 별도 저장, 인코딩, 엔진별 오버헤드에 따라 실제 크기가 크게 달라질 수 있으므로, 정확도가 중요하면 실제 데이터 일부를 넣어 측정하십시오.

자주 묻는 질문

채움률은 얼마로 하면 되나요?

PostgreSQL은 테이블 기본값이 100%, B-트리 인덱스가 90%입니다. 수정이 잦은 테이블은 채움률을 낮추면 도움이 될 수 있습니다.

실제 크기는 어떻게 확인하나요?

PostgreSQL은 pg_total_relation_size 함수로, MySQL은 information_schema.TABLES의 데이터·인덱스 길이로 확인합니다.

출처: PostgreSQL 공식 문서, "Database Page Layout" 및 CREATE TABLE 저장 매개변수(fillfactor) · MySQL Reference Manual, InnoDB 페이지 크기(innodb_page_size)

2026년 11월 8일 확인. 표준 공식과 RFC/IEEE 정의를 사용해 브라우저 안에서만 계산합니다. 입력한 내용은 어디에도 전송되지 않습니다.

💻 IT·개발 계산기 전체 →🏠 홍라이프 계산기 홈 →