phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

MySql - WAMP - Ogromna tabela działa bardzo wolno (20 milionów wierszy)

Niektóre odpowiedzi:

  • 20 milionów wierszy mieści się w zakresie możliwości MySQL. Pracuję na bazie danych, która ma ponad 500 milionów wierszy w jednej ze swoich tabel. Restrukturyzacja tabeli może zająć wiele godzin, ale zwykłe zapytania nie stanowią problemu, o ile są wspomagane przez indeks.

  • Twój laptop jest dość przestarzały i nie nadaje się do wykorzystania jako serwer bazy danych na dużą skalę. Przebudowa tabeli zajmie dużo czasu. Mała ilość pamięci i zazwyczaj wolny dysk laptopa prawdopodobnie Cię ograniczają. Prawdopodobnie używasz również domyślnych ustawień MySQL, które są przeznaczone do pracy na bardzo starych komputerach.

  • Nie polecałbym używania TEXT typ danych dla każdego kolumna. Nie ma powodu, dla którego potrzebujesz TEXT dla większości tych kolumn.

  • Nie twórz indeksu dla każdej kolumny, zwłaszcza jeśli nalegasz na używanie TEXT typy danych. Nie możesz nawet zindeksować TEXT kolumna, chyba że zdefiniujesz indeks prefiksu . Ogólnie wybieraj indeksy do obsługi określonych zapytań.

Prawdopodobnie masz wiele innych pytań na podstawie powyższego, ale w jednym poście na StackOverflow jest zbyt wiele do omówienia. Możesz wziąć udział w szkoleniu lub przeczytać książkę, jeśli zamierzasz pracować z bazami danych.
Polecam Wysokowydajny MySQL, 2. edycja .

Powtórz pytania uzupełniające:

Aby dostroić MySQL, warto zacząć od tego miejsca:http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-install/

Wiele operacji ALTER TABLE powoduje restrukturyzację tabeli, co oznacza w zasadzie zablokowanie tabeli, wykonanie kopii całej tabeli z zastosowanymi zmianami, a następnie zmianę nazwy nowej i starej tabeli oraz usunięcie starej tabeli. Jeśli stół jest bardzo duży, może to zająć dużo czasu.

Typ danych TEKST może przechowywać do 64 KB, co jest przesadą w przypadku numeru telefonu lub stanu. Użyłbym CHAR(10) dla typowego numeru telefonu w USA. Użyłbym CHAR(2) dla stanu USA. Ogólnie rzecz biorąc, używaj najbardziej zwartego i oszczędnego typu danych, który obsługuje zakres danych, których potrzebujesz w danej kolumnie.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Znacznik czasu phpMyAdmin MySQL pokazuje końcowe zera

  2. Środowisko pracy MySQL i phpMyadmin

  3. Ograniczenie złożonego klucza obcego przez PhpMyAdmin?

  4. phpmyadmin - błąd 2002 - na Macu

  5. Odzyskiwanie bazy danych mysql z kopii zapasowej folderu danych