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

Konwersja MyISAM do InnoDB. Korzystny? Konsekwencje?

Niezależnie od korzyści/wad jego użytkowania, które są omawiane w innych wątkach ( MyISAM kontra InnoDB ), migracja to nietrywialny proces.

Rozważ

  • Funkcjonalne testowanie wszystkich komponentów, które w miarę możliwości komunikują się z bazą danych — różne silniki mają różną semantykę
  • Przeprowadzanie jak największej liczby testów wydajności — niektóre rzeczy mogą się poprawić, inne mogą być znacznie gorsze. Dobrze znanym przykładem jest SELECT COUNT(*) na dużym stole.
  • Sprawdzenie, czy cały kod poradzi sobie z zakleszczeniami — możesz je uzyskać bez wyraźnego użycia transakcji
  • Oszacuj, ile miejsca zajmie konwersja — przetestuj to w środowisku nieprodukcyjnym.

Bez wątpienia będziesz musiał coś zmienić na dużej platformie oprogramowania; to jest w porządku, ale biorąc pod uwagę, że (miejmy nadzieję) masz dużo zasięgu autotestów, zmiana powinna być akceptowalna.

PS:Jeśli „Coś zaczyna obciążać procesor”, powinieneś a) Dowiedz się, co w środowisku nieprodukcyjnym, b) Wypróbuj różne opcje, aby to zmniejszyć, w środowisku nieprodukcyjnym. Nie powinieneś na ślepo zacząć robić ważnych rzeczy, takich jak zmiana silników baz danych, gdy nie przeanalizujesz w pełni problemu.

Wszystkie testy wydajności powinny być wykonywane w środowisku nieprodukcyjnym, z danymi podobnymi do produkcji i na sprzęcie klasy produkcyjnej. W przeciwnym razie trudno będzie poprawnie zinterpretować wyniki.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL DB wybiera rekordy z umlautami i bez. np.:'.. gdzie coś =FÖÖ'

  2. Błąd w tworzeniu tabeli

  3. Laravel 5:Naruszenie ograniczenia integralności:1452 Nie można dodać lub zaktualizować wiersza podrzędnego:ograniczenie klucza obcego nie powiodło się

  4. Mysqldump:Czy możesz zmienić nazwę tabeli, do której wstawiasz?

  5. Cofnąć się od zapytania SQL do kodu aplikacji?