MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Uzyskaj rozmiar bazy danych w MariaDB

W MariaDB możemy wysłać zapytanie do information_schema.tables tabela, aby sprawdzić rozmiar bazy danych.

Ta tabela zwraca informacje o tabelach i widokach w każdej bazie danych na serwerze. Możemy pogrupować wyniki i zwrócić sumaryczne kwoty dla każdej bazy danych.

Przykład

Oto zapytanie, które zwraca rozmiar wszystkich baz danych na serwerze:

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 |        212992 |        0.20 |
| KrankyKranes       |        131072 |        0.13 |
| Music              |         81920 |        0.08 |
| MyDB               |         32768 |        0.03 |
| mysql              |       4972544 |        4.74 |
| performance_schema |             0 |        0.00 |
| PetHouse           |         81920 |        0.08 |
| Zap                |         37460 |        0.04 |
+--------------------+---------------+-------------+

Ton information_schema.tables tabela pokazuje informacje o różnych nie-TEMPORARY tabele (oprócz tabel z Information Schema bazy danych) i widoków na serwerze.

Tutaj pogrupowałem je według bazy danych (table_schema ) i przeprowadziłem kilka obliczeń dotyczących rozmiarów.

Pojedyncza baza danych

Możemy zawęzić to do jednej bazy danych z WHERE klauzula:

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 = 'KrankyKranes'
GROUP BY table_schema;

Wynik:

+---------------+---------------+-------------+
| Database Name | Size in Bytes | Size in MiB |
+---------------+---------------+-------------+
| krankykranes  |        131072 |        0.13 |
+---------------+---------------+-------------+

W MySQL możemy użyć sys.FORMAT_BYTES() funkcji do konwersji długości danych, ale w chwili pisania tego tekstu MariaDB nie zaimplementowała jeszcze takiej funkcji.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co nowego w MariaDB MaxScale 2.4

  2. 4 sposoby na oddzielenie godzin, minut i sekund od wartości czasu w MariaDB

  3. Wybór silnika pamięci masowej:Aria

  4. Tworzenie wysoko dostępnej bazy danych dla Moodle za pomocą MariaDB (replikacja i klaster MariaDB)

  5. MariaDB JSON_UNQUOTE() Objaśnienie