정확한 용량 계산은 힘듭니다. varchar/BLOB 등의 경우 그 크기를 정확히 계산할수는 없기 때문입니다. 하지만 varchar/char/int 등의 비교적 한계가 정해진 자료형을 사용한 테이블의 경우는 대략적인 용량 계산은 가능합니다.
보통은 worst case로 최대 용량을 계산하는 방법을 사용합니다. 하드가 남아서
문제될건 없지만 모자라면 문제가 되니까.
그런 전제를 따르면,
1) 일단 해당 컬럼의 모든 데이터가 크기만큼 사용한다고 가정하고,
2) 들어가는 데이터의 개수만큼 row-id 크기를 잡고,
3) 인덱싱 여부에 따라서 만약 인덱싱을 하는 컬럼이라면 해당 인덱싱 방법에 따라서 추가 용량을 계산하지만 일반적으로 1)의 약 70% 라고 보시면 됩니다.
(가장 흔한 방법인 B*트리인 경우)
예를들어 60문자, 100레코드,프라이머리 키인 경우에는
즉 (60+8)*100 * 1.7 잡으시면 됩니다.
물론 데이터베이스정보, 테이블 정보 등등 과외로 추가되는 정보들도 있고 위 예에서는 이런 과외정보가 훨씬 크겠지만 일반적으로 스토리지 용량이 문제가 될 것으로 예상되는 경우에는 대단히 대량의 데이터가 있는 경우라서 그런 카탈로그 정보들은 그다지 치지 않아도 좋습니다.
|