웹 호스트를 선택하기 위해 MySQL 데이터베이스가 얼마나 많은 공간을 사용하고 있는지 알고 싶습니다. 나는 명령을 찾았 SHOW TABLE STATUS LIKE 'table_name'
으므로 쿼리를 할 때 다음과 같은 것을 얻습니다.
Name | Rows | Avg. Row Length | Data_Length | Index Length
---------- ---- --------------- ----------- ------------
table_name 400 55 362000 66560
- 숫자는 반올림됩니다.
그래서 내가해야합니까 362,000 또는 400 * 362,000 = 144,800,000 이 테이블 바이트의 데이터를? 그리고 색인 길이는 무엇을 의미합니까? 감사 !
답변
S. Prakash는 MySQL 포럼 에서 찾을 수 있습니다 .
SELECT table_schema "database name",
sum( data_length + index_length ) / 1024 / 1024 "database size in MB",
sum( data_free )/ 1024 / 1024 "free space in MB"
FROM information_schema.TABLES
GROUP BY table_schema;
또는보다 쉬운 복사 붙여 넣기를 위해 한 줄로 :
SELECT table_schema "database name", sum( data_length + index_length ) / 1024 / 1024 "database size in MB", sum( data_free )/ 1024 / 1024 "free space in MB" FROM information_schema.TABLES GROUP BY table_schema;
답변
Mysql 클라이언트에서 다음 명령을 실행하여 Mysql 데이터베이스의 크기를 얻을 수 있습니다.
SELECT sum(round(((data_length + index_length) / 1024 / 1024 / 1024), 2)) as "Size in GB"
FROM information_schema.TABLES
WHERE table_schema = "<database_name>"
답변
phpMyAdmin을 사용하면이 정보를 알려줄 수 있습니다.
“데이터베이스”(맨 위 메뉴)로 이동하여 “통계 사용”을 클릭하십시오.
다음과 같은 것을 보게 될 것입니다 :
크기가 커질수록 정확도가 떨어질 수 있지만 목적에 맞게 정확해야합니다.
답변
MB 단위로 찾으려면이 작업을 수행하십시오.
SELECT table_schema "DB Name",
Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"
FROM information_schema.tables
GROUP BY table_schema;
답변
기본적으로 쿼리 DB (데이터 길이 + 인덱스 길이) 또는 검사 파일 크기의 두 가지 방법이 있습니다. 인덱스 길이는 인덱스에 저장된 데이터와 관련이 있습니다.
모든 것이 여기에 설명되어 있습니다 :
http://www.mkyong.com/mysql/how-to-calculate-the-mysql-database-size/
답변
답은 오버 헤드 크기와 테이블의 메타 데이터 크기를 포함하지 않습니다.
다음은 데이터베이스에 의해 할당 된 “디스크 공간”에 대한보다 정확한 추정입니다.
SELECT ROUND((SUM(data_length+index_length+data_free) + (COUNT(*) * 300 * 1024))/1048576+150, 2) AS MegaBytes FROM information_schema.TABLES WHERE table_schema = 'DATABASE-NAME'
답변
SUM(Data_free)
유효 할 수도 있고 유효하지 않을 수도 있습니다 . 의 역사에 따라 다릅니다 innodb_file_per_table
. 자세한 내용은 여기를 참조하십시오 .