개발/DB

[DB / Oracle / Table 저장 데이터 용량 확인]

터틀넥 2023. 1. 30. 10:04

✅ ISSUE

 

형상관리 부서에서 현재 우리 부서에서 관리하고 있는 프로그램 DB들에 대한 데이터 저장 현황을 요청해서 조사해야 할 일이 있었다.

조사해야할 내용은, 테이블 이름, ROW 수, 데이터 크기(MB, GB)였다.

 

✔  작성 쿼리

SELECT
TABLE_NAME, /* 테이블 명 */
NUM_ROWS, /* ROW 개수 */
NUM_ROWS * AVG_ROW_LEN as BYTE, 
/* 행 갯수와 로우 평균 데이터(avg_row_len)을 곱하여 전체 용량(byte) 계산 */
ROUND((NUM_ROWS * AVG_ROW_LEN / 1024 / 1024), 2) AS MB, 
/* mb 계산 */
ROUND((NUM_ROWS * AVG_ROW_LEN / 1024 / 1024 / 1024), 2) AS GB 
/* gb 계산 */
FROM USER_TABLES 
WHERE TABLE_NAME LIKE '%테이블명%'; /* 찾고자 하는 테이블명 */

 

 

 

✅ Result

TABLE_NAME NUM_ROWS BYTE MB GB
table_a 415,320 13079233.8619.... 12.47 0.01
table_b 19.595 2118678.623608... 2.02 0
table_c 4,376 91,754 0.09 0

 

 

 

✅ 작업 후기

 

내가 관리하고 있는 프로젝트가 6개 정도 됐었는데, 이번 데이터 조사를 하면서 프로그램에 대한 정리가 필요할 것 같다는 생각이 들었다.

 

일례로 10년전에 만든 프로젝트인데도 데이터가 1gb도 안쌓인 것이 있는가 하면, 1년도 안된 프로젝트지만 사람들에게 홍보가 잘되고 효능감이 커서 데이터가 훨씬 많이 쌓인 경우도 있었다.

 

난 컴퓨터 프로그램이 사람들의 문제를 해결해주고, 효능감을 주어야 그 가치가 있다고 생각한다. 그래서 사람들에게 많이 쓰이게 하려면 필요가 있게 끔 프로그램을 잘 구성하고 만들어야겠다는 것을 오늘도 깨닫고 간다.