source

mysql 데이터베이스의 사이즈는 어떻게 취득합니까?

gigabyte 2023. 1. 22. 22:27
반응형

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

반응형