sql >> Database >  >> RDS >> Mysql

Hoe de grootste tabel in de MySQL-database te vinden?

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.

  1. Postgres installeren op Windows voor gebruik met Ruby-on-Rails

  2. Herschrijven van mysql select om tijd te besparen en tmp naar schijf te schrijven

  3. problemen met python manage.py migreren -> Geen module met de naam psycopg2

  4. Doorgaan met invoegingen in Oracle wanneer er een uitzondering wordt gemaakt