Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak znaleźć największą tabelę w bazie danych MySQL?

Czasami może być konieczne śledzenie największej tabeli w bazie danych MySQL, aby móc ją zoptymalizować. Oto zapytanie SQL, aby znaleźć największą tabelę w bazie danych MySQL. Przez największy rozumiem rozmiar na dysku, a nie liczbę rekordów. Aby to uzyskać, możesz użyć następującego zapytania SQL. Rozmiar tabeli MySQL składa się z 2 części:

1. data_length – rozmiar rekordów tabeli

2. index_length – rozmiar indeksu tabeli

Są to zmienne systemowe, które przechowują informacje w postaci liczby bajtów. Poniższe zapytanie dodaje 2 zmienne do tabeli. Konwertuje wynikową liczbę bajtów na megabajty (MB), aby ułatwić zrozumienie. Po prostu zastąp $DB_NAME poniżej, aby go użyć.

Aby uzyskać największą tabelę w bazie danych MySQL (konkretna baza danych), użyj:

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;

Aby uzyskać największą tabelę w bazie danych MySQL (ze wszystkich baz danych) użyj:

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;

Te zapytania mogą zająć trochę czasu w zależności od liczby tabel.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uniknąć MySQL „Znaleziono zakleszczenie podczas próby uzyskania blokady; spróbuj zrestartować transakcję”

  2. 10 pytań do rozmowy kwalifikacyjnej na temat bazy danych MySQL dla początkujących i średniozaawansowanych

  3. Połączenie PHP nie powiodło się:SQLSTATE[HY000] [2002] Połączenie odrzucone

  4. Jak przywrócić pojedynczą tabelę MySQL za pomocą mysqldump?

  5. MySQL pokazuje indeksy w bazie danych