">

Table 최고 사이즈 확인 방법

 SHOW TABLE STATUS FROM DB name LIKE 'Table name';


이 명령어 이후 Create_options에 있는 max_rows와 avg_row_length를 곱한 값이 용량이 된다. MB 단위로 환산하려면 1024로 두번 나누어 주면 된다. 



DB 사이즈 확인 방법


 SELECT count(*) NUM_OF_TABLE,

              table_schema,concat(round(sum(table_rows)/1000000,2),'M') rows,

              concat(round(sum(data_length)/(1024*1024*1024),2),'G') DATA,

              concat(round(sum(index_length)/(1024*1024*1024),2),'G') idx,

              concat(round(sum(data_length+index_length)/(1024*1024*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;




각 테이블 사이즈 확인 방법


 SELECT table_name,

              table_rows,

              round(data_length/(1024*1024),2) as 'DATA_SIZE(MB)',

              round(index_length/(1024*1024),2) as 'INDEX_SIZE(MB)'

 FROM information_schema.TABLES 

 WHERE table_schema = 'DB_name'

 GROUP BY table_name 

 ORDER BY data_length DESC LIMIT 10;





'프로그래밍 > DB' 카테고리의 다른 글

MySQL ERD 생성하기 ERWin에서...  (0) 2016.10.11
Mac(맥)에 MySQL 설치하기  (0) 2016.08.10
MySQL ALTER TABLE 테이블 변경하기  (0) 2016.08.03

  프로젝트를 진행하다보면 복잡하지 않더라도 협업을 해야하는 경우가 발생하죠. 

혹은 추가 개발 또는 유지 보수 업무를 맡게 되면 ERD가 없을 경우 시스템에 대해 설계/분석 하는데 시간이 더 걸리게됩니다. 

Toad for MySQL에서도 리버스 엔지니어링 기능을 가지고 DB의 스키마를 ERD로 표현해주는 기능이 있지만 수정이나 편집이 불가능 해요! 

회사 선배가 알려준 ERWin의 사용법을 이제서야 블로그에 적어봅니다.


  ERWin은 아직 Mac 버전은 없는 것 같아요. 그래서 아래 글은 Windows7(64bit) 기준으로 작성 했어요~


1. PC에 ODBC 설정에서 MySQL용 드라이버 설치 및 연결정보 설정하기!

드라이버 다운로드 Go Go!


2. 다운로드 완료 후에 '시작' 메뉴 옆의 검색 창에 '데이터 원본' 이라고 검색합니다. 


3.  ODBC 데이터 원본 32비트 또는 64비트를 선택 합니다. 그리고 추가 버튼을 클릭해 드라이버를 추가하도록 합니다. 


4. MySQL ODBC 드라이버를 선택하고 마침을 누릅니다. 


5. 항목을 입력 하고 OK 버튼을 누릅니다. 




6. ERWin을 실행 시키고, Reverse Enginnering를 실행합니다. 

설계를 추가해야할지도 모르기에 타입은 논리/물리 모델 두가지를 포함하는게 낫겠죠? 

Target Database를 MySQL로 선택하면 됩니다. 


7. Infer 영역에서 Key와 Relations를 선택하면 테이블 관계 및 키 까지 테이블이 그려질 때 같이 그려져요. 


8. User Name 및 Password를 입력하고 value에서 아까 추가한 ODBC를 선택하고 Connect를 클릭하고 조금 기다리면 테이블이 나옵니닷~


가장 쉬운 방법으로 Mac에 MySQL을 설치해 보도록 하겠습니다. 


우선 MySQL 홈페이지에 가셔서 다음과 같이 진행합니다. 

다운로드 페이지로 이동한 뒤 Conmmunity Edition을 받도록 할게요.



Community Server를 선택하시고 다음 페이지로 넘어가면 사용 중인 OS를 선택하고 해당 OS 버전에 맞는 설치 파일을 다운 받아 설치를 진행하도록 합니다. 


바로 설치해서 사용할 수 있도록 DMG 파일을 다운 받습니다. 

다운로드를 진행할 때 계정이 필요한데 계정 발급은 무료니까 걱정마시고 만들어서 사용하세요. 


파일을 다 다운로드 받았으면 실행을 합니다. 설치 파일을 실행 시키면 아래와 같은 화면을 확인할 수 있습니다. 


그리고 설치를 진행하고, 설치가 완료되면 처음으로 설정된 root의 패스워드가 나옵니다. 창을 그냥 닫지 마시고 꼭!!! 기억해두세요~



설치는 마무리 되었습니다. 그럼 MySQL 서비스를 시작할 일만 남았죠?

아주 아주 아주 쉽습니다. 시스템 환경 설정에 들어가시면 MySQL 아이콘이 있습니다. 실행하도록 합니다. 


Start MySQL Server을 클릭 하시면 바로 시작 됩니다. 

설치 과정은 여기 까지 입니다!

  ALTER TABLE은 테이블의 스키마를 변경할 수 있도록 해주는 유용한 명령어입니다. 테이블 스키마란 쉽게 말하면 테이블의 구조라고 설명 드릴 수 있겠네요. 이 스키마라는 것은 논리적 스키마와 물리적 스키마로 분리해서 부릅니다. 데이터베이스 설명 페이지는 아니니 설명은 이쯤에서 마무리 할게요.


  좀 예전에는 각 데이터베이스 회사마다 사용되는 쿼리가 많이 달랐습니다. 하지만 표준화를 진행하면서 많이 비슷해 졌어요. ALTER TABLE 도 크게 다른 부분 없습니다. 


1. 테이블에 새로운 컬럼 추가하기

형식은 ALTER TABLE [테이블명] ADD COLUMN [추가할 컬럼명][추가할 컬럼 데이터형] 입니다.

mysql>ALTER TABLE user_info ADD COLUMN name varchar(20) not null;



2. 테이블 컬럼 타입 변경하기

형식은 ALTER TABLE [테이블명] MODIFY COLUMN [변경할 컬럼명][변경할 컬럼 타입] 입니다.

mysql>ALTER TABLE user_info MODIFY COLUMN name varchar(10) not null



3. 테이블 컬럼 이름 변경하기

형식은 ALTER TABLE [테이블명] CHANGE COLUMN [기존 컬럼 명][변경할 컬럼 명][변경할 컬럼 타입] 입니다.

mysql>ALTER TABLE user_info CHANGE COLUMN name nickname varchar(20) not null;



4. 테이블 컬럼 삭제하기

형식은 ALTER TABLE [테이블명] DROP COLUMN [삭제할 컬럼 명] 입니다.

mysql>ALTER TABLE user_info DROP COLUMN nickname;



5. 테이블 컬럼에 인덱스 설정하기

형식은 ALTER TABLE [테이블명] ADD INDEX 인덱스명(인덱스 설정할 컬럼1, 인덱스 설정할 컬럼2, ...) 입니다.

mysql>ALTER TABLE user_info ADD INDEX userindex(id);



6. 설정된 인덱스 삭제하기

형식은 ALTER TABLE [테이블명] DROP INDEX [인덱스명] 입니다.

mysql>ALTER TABLE user_info DROP INDEX userindex;


인덱스가 잘 제거 되었는지 확인하시려면,

mysql>SHOW INDEX FROM user_info;


이렇게 확인이 가능합니다. 



7. Primary Key 설정하기

형식은 ALTER TABLE [테이블명] ADD PRIMARY KEY (Key 설정할 컬럼 명1, Key 설정할 컬럼 명 2, ...) 입니다.

mysql> ALTER TABLE user_info ADD PRIMARY KEY (id, nickname);



8. Primary Key 삭제하기

형식은 ALTER TABLE [테이블명] DROP PRIMARY KEY 입니다.

mysql> ALTER TABLE user_info DROP PRIMARY KEY;



9. 테이블 이름 바꾸기

형식은 ALTER TABLE [원본 테이블] RENAME [새로운 테이블 이름] 입니다.

mysql> ALTER TABLE user_info RENAME vip_user_info;

+ Recent posts