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

Optymalizacja wstawek MySQL do obsługi strumienia danych

Jeśli Twoje dane nie muszą natychmiast trafiać do bazy danych, możesz gdzieś buforować swoje dane wstawiania, a następnie wydać jedną większą instrukcję wstawiania, np.

wstaw do nazwa_tabeli (x, y, z) wartości (x1, y1, z1), (x2, y2, z2), ... (xN, yN, zN) przy zduplikowanej aktualizacji ...;

Żeby było jasne, zachowałbym listę oczekujących wstawek. W tym przypadku lista trojaczków (x,z,y). Następnie, gdy Twoja lista przekroczy pewien próg (N), generujesz instrukcję wstawiania i wydajesz ją.

Nie mam dla ciebie dokładnych danych dotyczących czasu, ale zwiększyło to wydajność około 10 razy w porównaniu z wstawianiem każdego wiersza osobno.

Nie bawiłem się też wartością N, ale stwierdziłem, że 1000 działa ładnie. Oczekuję, że na optymalną wartość mają wpływ ustawienia sprzętu i bazy danych.

Mam nadzieję, że to pomoże (ja też używam MyIsam).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_INSERT() – Wstaw wartości do dokumentu JSON w MySQL

  2. Najnowszy rekord MySQL dla odrębnej kolumny

  3. pobierz wiersz z najwyższą wartością w MySQL

  4. Zagnieżdżone instrukcje CASE w MySQL

  5. Przenoszenie kolumn tekstowych szerokości/długości geograficznej do kolumny typu „punkt”