Při práci s MySQL možná budete muset získat velikost tabulky MySQL pro konkrétní tabulku ve vaší databázi. Neexistují žádné přímé proměnné, které by tyto informace uchovávaly. K jeho získání můžete použít následující SQL dotaz. Velikost tabulky MySQL se skládá ze 2 částí:
1. data_length – velikost záznamů tabulky
2. index_length – velikost indexu tabulky
Jedná se o systémové proměnné, které ukládají informace jako počet bajtů. Dotaz níže přidá 2 proměnné pro tabulku. Pro snadnější pochopení převádí výsledný počet bajtů na megabajty (MB). Chcete-li jej používat, stačí nahradit $DB_NAME a $TABLE_NAME níže.
Chcete-li získat velikost tabulky MySQL jedné tabulky v databázi, použijte:
SELECT table_name AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) "Table size in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME" AND table_name = "$TABLE_NAME";
$DB_NAME – Název vaší databáze MySQL
$TABLE_NAME – Název tabulky MySQL
Chcete-li získat velikost tabulky MySQL pro více tabulek v databázi, použijte:
SELECT table_name AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) "Table size in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME" AND table_name in ("$TABLE_NAME1","$TABLE_NAME2","$TABLE_NAME3");
$TABLE_NAME1, $TABLE_NAME2 atd – Názvy MySQL tabulek