Ibland kan du behöva hålla reda på den största tabellen i MySQL-databasen så att du kan optimera den. Här är en SQL-fråga för att hitta den största tabellen i MySQL-databasen. Med störst menar jag storlek på disk och inte antal poster. Du kan använda följande SQL-fråga för att få den. En MySQL-tabellstorlek består av 2 delar:
1. data_length – storleken på tabellposterna
2. index_length – storleken på tabellindexet
Dessa är systemvariabler som lagrar informationen som antal byte. Frågan nedan lägger till de två variablerna för tabellen. Det konverterar det resulterande antalet byte till megabyte (MB) för enklare förståelse. Byt bara ut $DB_NAME nedan för att använda den.
För att få största tabellen i MySQL-databasen (specifik databas) använd:
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;
För att få den största tabellen i MySQL-databasen (av alla databaser) använd:
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;
Dessa frågor kan ta tid baserat på antalet tabeller.