Soms moet u de grootste tabel in de MySQL-database bijhouden, zodat u deze kunt optimaliseren. Hier is een SQL-query om de grootste tabel in de MySQL-database te vinden. Met grootste bedoel ik de grootte op schijf en niet het aantal records. U kunt de volgende SQL-query gebruiken om deze op te halen. Een MySQL-tabelgrootte bestaat uit 2 delen:
1. data_length – grootte van de tabelrecords
2. index_length – grootte van de tabelindex
Dit zijn systeemvariabelen die de informatie in bytes opslaan. De onderstaande query voegt de 2 variabelen voor de tabel toe. Het zet het resulterende aantal bytes om in megabytes (MB) voor een beter begrip. Vervang gewoon $DB_NAME hieronder om het te gebruiken.
Om de grootste tabel in de MySQL-database (specifieke database) te krijgen, gebruikt u:
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" order by data_length+index_lenght desc limit 1;
Om de grootste tabel in de MySQL-database (van alle databases) te krijgen, gebruikt u:
SELECT table_name AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) "Table size in MB" FROM information_schema.TABLES order by data_length+index_lenght desc limit 1;
Deze query's kunnen enige tijd duren op basis van het aantal tabellen.