MySql DB/테이블 관리용 쿼리

less than 1 minute read

  1. 테이블별 사이즈 확인 (쿼리 시점에 정확한 사이즈는 아니지만, 참고할 만한 데이터임) [출처]

SELECT      table_name,     table_rows,     round(data_length/(10241024),2) as ‘DATA_SIZE(MB)’,     round(index_length/(10241024),2) as ‘INDEX_SIZE(MB)’ FROM information_schema.TABLES where table_schema = ‘데이터베이스이름’ GROUP BY table_name  ORDER BY data_length DESC  LIMIT 10;

  1. Database 별 사이즈 확인 (쿼리 시점에 정확한 사이즈는 아니지만, 참고할 만한 데이터임)[출처]

SELECT count() NUM_OF_TABLE, table_schema,concat(round(sum(table_rows)/1000000,2),’M’) rows, concat(round(sum(data_length)/(102410241024),2),’G’) DATA, concat(round(sum(index_length)/(102410241024),2),’G’) idx, concat(round(sum(data_length+index_length)/(10241024*1024),2),’G’) total_size, round(sum(index_length)/sum(data_length),2) idxfrac FROM information_schema.TABLES GROUP BY table_schema ORDER BY sum(data_length+index_length) DESC LIMIT 10;

–=– 참고로 적자면, innoDB를 사용할 경우 크기 계산은 ‘대략’ 적인 계산이 된다.

–=–

테이블 정보 보기

SHOW TABLE STATUS; SHOW TABLE STATUS LIKE ‘{테이블명}’; 따지면..  information_schema.TABLES 의 용약판이겠지만, 일반적으로 사용되는 상태 확인 쿼리이다.


🔗original-link

Updated: