mysql 데이터베이스의 사이즈는 어떻게 취득합니까?
mysql 데이터베이스의 크기를 얻는 방법은 무엇입니까?
대상 데이터베이스를 "v3"라고 가정합니다.
이 쿼리를 실행하면 원하는 정보를 얻을 수 있습니다.
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;
이 쿼리는 mysql 포럼에서 가져옵니다.이 포럼에서는 보다 포괄적인 절차를 이용할 수 있습니다.
다음 MySQL 명령을 사용하여 확인할 수 있습니다.
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema
결과
Database Size (MB)
db1 11.75678253
db2 9.53125000
test 50.78547382
GB 단위로 결과 가져오기
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema
또는 를 사용하는 경우phpMyAdmin
데이터베이스 바닥글에 있는 테이블사이즈의 합계를 확인할 수 있습니다.structure
실제 데이터베이스 크기는 이 크기를 약간 초과할 수 있지만, 이 사이즈는 데이터 저장소의table_schema
를 참조해 주세요.
스크린샷:
또는 데이터 디렉토리에 직접 이동하여 v3.myd, v3.myi 및 v3.frm 파일의 합계 크기(myisam의 경우) 또는 v3.idb & v3.frm(innodb의 경우)를 확인할 수 있습니다.
MB 단위로 결과를 얻으려면:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
GB 단위로 결과를 얻으려면:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024), 2)) AS "SIZE IN GB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
mysqldiskusage --server=root:MyPassword@localhost pics
+----------+----------------+
| db_name | total |
+----------+----------------+
| pics | 1,179,131,029 |
+----------+----------------+
인스톨 되어 있지 않은 경우는, 를 인스톨 해 인스톨 할 수 있습니다.mysql-utils
대부분의 주요 유통업체에서 패키징해야 하는 패키지입니다.
를 사용하여 MySQL에 처음 로그인
mysql -u username -p
단일 데이터베이스의 크기와 해당 테이블을 MB 단위로 표시하는 명령입니다.
SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table_schema = "database_name"
ORDER BY (data_length + index_length) DESC;
database_name을 데이터베이스로 변경합니다.
모든 데이터베이스를 크기(MB)로 표시하는 명령어.
SELECT table_schema AS "Database",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;
모든 데이터베이스 크기의 목록을 정렬하려면 다음을 사용합니다.
SELECT *
FROM (SELECT table_schema AS `DB Name`,
ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) AS `DB Size in MB`
FROM information_schema.tables
GROUP BY `DB Name`) AS tmp_table
ORDER BY `DB Size in MB` DESC;
mysql 데이터 디렉토리로 이동하여 실행합니다.du -h --max-depth=1 | grep databasename
추가 정보:단일 테이블의 크기를 원하는 경우 다음 코드를 사용하십시오.
SELECT
TABLE_NAME AS `Table Name`,
ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024) AS `Size ( in MB)`
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = "your_db_name"
AND
TABLE_NAME = "your_single_table_name"
ORDER BY
(DATA_LENGTH + INDEX_LENGTH)
DESC;
주의: 이 페이지에는 다음 웹 사이트를 사용하기 위한 분수 번호는 표시되지 않습니다.ROUND()
방법.
이것이 우리 중 많은 사람들에게 도움이 되기를 바랍니다.
언급URL : https://stackoverflow.com/questions/1733507/how-to-get-size-of-mysql-database
'source' 카테고리의 다른 글
html에서 php를 사용하여 img src, title 및 alt를 추출하는 방법은 무엇입니까? (0) | 2023.01.22 |
---|---|
요소를 기준으로 마우스 위치 찾기 (0) | 2023.01.22 |
배열의 모든 값이 동일한지 확인합니다. (0) | 2023.01.12 |
Java split() 메서드는 마지막에 빈 문자열을 삭제합니까? (0) | 2023.01.12 |
사전에 새 키를 추가하려면 어떻게 해야 합니까? (0) | 2023.01.12 |