В MySQL можете да проверите размера на всички таблици в дадена база данни (или във всички бази данни), като направите заявка за information_schema.tables
маса. Тази таблица съхранява данни за всяка таблица в база данни, включително информация за размера на всяка таблица, датата на създаване, съпоставянето и т.н.
Можете също да намерите размера на всяка таблица в база данни, като използвате графичния интерфейс на MySQL Workbench.
Тази статия предоставя бърз преглед на всеки метод.
Пример за код
Ето пример за SQL заявка, която връща размера на таблиците в база данни.
SELECT table_name 'Table Name', data_length + index_length 'Size in Bytes', ROUND(((data_length + index_length) / 1024 / 1024), 2) 'Size in MiB' FROM information_schema.tables WHERE table_schema = 'sakila' ORDER BY (data_length + index_length) DESC;
Резултат:
+----------------------------+---------------+-------------+ | Table Name | Size in Bytes | Size in MiB | +----------------------------+---------------+-------------+ | rental | 2785280 | 2.66 | | payment | 2228224 | 2.13 | | inventory | 376832 | 0.36 | | film | 278528 | 0.27 | | film_actor | 278528 | 0.27 | | film_text | 196608 | 0.19 | | customer | 131072 | 0.13 | | address | 114688 | 0.11 | | staff | 98304 | 0.09 | | film_category | 81920 | 0.08 | | city | 65536 | 0.06 | | store | 49152 | 0.05 | | actor | 32768 | 0.03 | | country | 16384 | 0.02 | | language | 16384 | 0.02 | | category | 16384 | 0.02 | | staff_list | 0 | 0.00 | | customer_list | 0 | 0.00 | | nicer_but_slower_film_list | 0 | 0.00 | | actor_info | 0 | 0.00 | | sales_by_film_category | 0 | 0.00 | | film_list | 0 | 0.00 | | sales_by_store | 0 | 0.00 | +----------------------------+---------------+-------------+
Това връща размера на всяка таблица в sakila
база данни. Заменете sakila
с името на съответната база данни. Разбира се, можете да пропуснете WHERE
клауза като цяло и това ще върне размера на таблицата на всички таблици във всички бази данни, но това ще бъде дълъг списък.
В този случай подредих резултатите по размер на таблицата в низходящ ред. Добавих и колона с преобразуван размер в MiB (мебибайти).
Друг метод за преобразуване на размера е да използвате sys.FORMAT_BYTES()
функция.
Функцията sys.FORMAT_BYTES()
Можете да използвате sys.FORMAT_BYTES()
функция за преобразуване на размера от байтове в bytes
, KiB
(кибибайта), MiB
(мебибайта), GiB
(гибибайта), TiB
(тебибайта) или PiB
(пебибайта), като индикаторът за единици е добавен към стойността. Индикаторът за единици се добавя автоматично. Функцията ще реши в коя единица да се преобразува, в зависимост от размера на стойността, така че нямате контрол върху това коя единица да използвате.
Ето пример за използване на този метод:
SELECT table_name 'Table Name', data_length + index_length 'Size in Bytes', sys.FORMAT_BYTES((data_length + index_length)) 'Size (Formatted)' FROM information_schema.tables WHERE table_schema = 'sakila' ORDER BY (data_length + index_length) DESC;
Резултат:
+----------------------------+---------------+------------------+ | Table Name | Size in Bytes | Size (Formatted) | +----------------------------+---------------+------------------+ | rental | 2785280 | 2.66 MiB | | payment | 2228224 | 2.12 MiB | | inventory | 376832 | 368.00 KiB | | film | 278528 | 272.00 KiB | | film_actor | 278528 | 272.00 KiB | | film_text | 196608 | 192.00 KiB | | customer | 131072 | 128.00 KiB | | address | 114688 | 112.00 KiB | | staff | 98304 | 96.00 KiB | | film_category | 81920 | 80.00 KiB | | city | 65536 | 64.00 KiB | | store | 49152 | 48.00 KiB | | actor | 32768 | 32.00 KiB | | category | 16384 | 16.00 KiB | | country | 16384 | 16.00 KiB | | language | 16384 | 16.00 KiB | | actor_info | 0 | 0 bytes | | customer_list | 0 | 0 bytes | | film_list | 0 | 0 bytes | | nicer_but_slower_film_list | 0 | 0 bytes | | sales_by_film_category | 0 | 0 bytes | | sales_by_store | 0 | 0 bytes | | staff_list | 0 | 0 bytes | +----------------------------+---------------+------------------+
MySQL Workbench
Ако използвате графичния интерфейс на MySQL Workbench, можете да посочите и щракнете по пътя към размерите на таблицата. Ето как:
- Отворете базата данни в
Schemas
панел - Задръжте курсора на мишката върху приложимата база данни
- Щракнете върху малката икона за информация до името на базата данни. Това зарежда информация за базата данни, включително нейния приблизителен размер, брой таблици, съпоставяне и т.н.
- Щракнете върху
Tables
раздел. Това показва информация за всяка таблица в базата данни, включително дължината на данните и дължината на индекса.