2013-03-19 2 views
3

내 서버에는 6 개의 데이터베이스가 있습니다.mysql 데이터베이스의 모든 인덱스 크기

phpmyadmin에서 데이터베이스를 구성하는 테이블 목록을보고 레코드 수, 테이블 이름, 테이블 유형 등을 볼 수 있습니다. 크기 및 전체 크기도 표시됩니다. 한 데이터베이스의 전체 크기는 5 기가와 80 개의 다른 테이블입니다.

이 5 개의 공연이 내 색인과 얼마나 관련이 있는지 알고 싶습니다. 테이블을 클릭하고 세부 정보를 볼 수 있습니다. 이론적으로, 내가 80 번 한 번, 각 테이블에 대해 한 번, 그리고 그것을 추가, 내 대답을했을.

하나의 mysql 테이블의 결합 된 인덱스가 얼마나 많은지에 대한 대답을 얻을 수있는 방법이 있습니까? (phpmyadmin 또는 SSH) 테이블로 목록을 볼 수 있다면 더 좋을 것입니다.

미리 감사드립니다.

+0

http://stackoverflow.com/questions/781873/how-to-figure-out-size-of-indexes-in-mysql – Greg

+0

그래 내에서 개최, 이 질문을 게시하기 전에이 질문을 읽었습니다. 나는 전체 DB (또는 테이블,하지만 모든 테이블을 보여주는)에 대해서만 인덱스 크기를 볼 수있는 방법을 보지 못했습니다 .... 나는 테이블 상태를 찾고 있지만 전체 db 상태. 나는 그것을 놓쳤는가? – Kevin

답변

4

위대한 질문입니다. 예, 데이터베이스 수준에서 볼 수 있습니다.

정보가 INFORMATION_SCHEMA

SELECT table_name, 
concat(round(data_length/(1024 *1024) , 2) , 'Mb') AS 'data_length_mb', 
concat(round(index_length/(1024 *1024) , 2) , 'Mb') AS 'index_length_mb', 
concat(round(round(data_length + index_length)/(1024 *1024) , 2) , 'Mb') AS 'total_size_mb' 
FROM information_schema.tables 
WHERE table_schema ='your_db_name' 
ORDER BY data_length desc; 
+1

굉장해! 그게 내가 원하는거야. 고마워. – Kevin

관련 문제