Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak sprawdzić rozmiar bazy danych w MySQL?

W MySQL możesz wysłać zapytanie do information_schema.tables table, aby zwrócić informacje o tabelach w bazie danych. Ta tabela zawiera informacje o długości danych, długości indeksu, a także inne szczegóły, takie jak sortowanie, czas utworzenia itp. Możesz użyć informacji z tej tabeli, aby znaleźć rozmiar danej bazy danych lub wszystkich baz danych na serwerze.

Możesz także użyć GUI MySQL Workbench, aby znaleźć szczegółowe informacje o bazie danych (w tym o jej rozmiarze).

Ten artykuł zawiera krótki przegląd obu metod.

Przykład kodu

Oto przykład znajdowania rozmiaru każdej bazy danych przez uruchomienie zapytania względem information_schema.tables tabela:

SELECT 
    table_schema 'Database Name',
    SUM(data_length + index_length) 'Size in Bytes',
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables 
GROUP BY table_schema;

Wynik:

+--------------------+---------------+-------------+
| Database Name      | Size in Bytes | Size in MiB |
+--------------------+---------------+-------------+
| information_schema |             0 |        0.00 |
| Music              |         98304 |        0.09 |
| mysql              |       2506752 |        2.39 |
| performance_schema |             0 |        0.00 |
| sakila             |       6766592 |        6.45 |
| Solutions          |         16384 |        0.02 |
| sys                |         16384 |        0.02 |
| world              |        802816 |        0.77 |
+--------------------+---------------+-------------+

W tym przykładzie wymieniłem rozmiar w bajtach i mebibajtach (MiB), ale możesz wybrać, jak chcesz go zaprezentować.

Oczywiście zawsze możesz zawęzić go do konkretnej bazy danych, jeśli zajdzie taka potrzeba. Po prostu dodaj WHERE klauzula z nazwą bazy danych:

SELECT 
    table_schema 'Database Name',
    SUM(data_length + index_length) 'Size in Bytes',
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables 
WHERE table_schema = 'sakila';

Wynik:

+---------------+---------------+-------------+
| Database Name | Size in Bytes | Size in MiB |
+---------------+---------------+-------------+
| sakila        |       6766592 |        6.45 |
+---------------+---------------+-------------+

Funkcja FORMAT_BYTES()

Możesz użyć sys.FORMAT_BYTES() funkcja, aby zaoszczędzić sobie konwersji rozmiaru na mebibajty, kibibajty lub cokolwiek innego. Ta funkcja pobiera wartość, konwertuje ją na format czytelny dla człowieka i zwraca ciąg składający się z wartości i wskaźnika jednostek. Przekonwertowana wartość będzie zależeć od rozmiaru wartości (więc wynik może być w bytes , KiB (kibibajty), MiB (mebibajty), GiB (gibibajty), TiB (tebibajty) lub PiB (pebibajty).

Oto przykład przepisania poprzedniego przykładu, aby użyć FORMAT_BYTES() funkcja:

USE Music;
SELECT 
    table_schema 'Database Name',
    SUM(data_length + index_length) 'Size in Bytes',
    sys.FORMAT_BYTES(SUM(data_length + index_length)) 'Size (Formatted)'
FROM information_schema.tables 
GROUP BY table_schema;

Wynik:

+--------------------+---------------+------------------+
| Database Name      | Size in Bytes | Size (Formatted) |
+--------------------+---------------+------------------+
| information_schema |             0 | 0 bytes          |
| Music              |         98304 | 96.00 KiB        |
| mysql              |       2506752 | 2.39 MiB         |
| performance_schema |             0 | 0 bytes          |
| sakila             |       6766592 | 6.45 MiB         |
| Solutions          |         16384 | 16.00 KiB        |
| sys                |         16384 | 16.00 KiB        |
| world              |        802816 | 784.00 KiB       |
+--------------------+---------------+------------------+

Środowisko pracy MySQL

Innym sposobem na znalezienie rozmiaru bazy danych jest użycie GUI MySQL Workbench. Oto jak:

  1. Przejdź do bazy danych w Schemas okienko
  2. Najedź kursorem na odpowiednią bazę danych
  3. Kliknij małą ikonę informacji obok nazwy bazy danych. To ładuje informacje o bazie danych, w tym jej przybliżony rozmiar, liczbę tabel, sortowanie itp. Rozmiar bazy danych jest podany w Info zakładka (zwykle domyślna).

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kod php do testowania pdo jest dostępny?

  2. Polecenie wstawiania MySQL a składnia zapytań T-SQL z przykładami

  3. Zapobiegaj automatycznemu przyrostowi w przypadku duplikatu wstawiania MySQL

  4. PHP do przechowywania obrazów w MySQL czy nie?

  5. Jak utworzyć tabelę w MySQL Workbench za pomocą GUI