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

Powolne wstawianie MySQL

Może to być czas na partycjonowanie poziome i przeniesienie pola blob do osobnej tabeli. W tym artykule w „Szybkiej uwadze bocznej na temat partycjonowania pionowego” autor usuwa większe pole varchar z tabeli i zwiększa prędkość zapytania o rząd wielkości.

Powodem jest to, że fizyczne przechodzenie danych na dysku staje się znacznie szybsze, jeśli jest mniej miejsca do pokrycia, więc przeniesienie większych pól w inne miejsce zwiększa wydajność.

Również (i prawdopodobnie już to robisz) korzystne jest zmniejszenie rozmiaru kolumny indeksu do absolutnego minimum (char(32) w kodowaniu ascii dla md5), ponieważ rozmiar klucza jest wprost proporcjonalny do szybkości jego użycia .

Jeśli wykonujesz wiele operacji wstawiania na raz z tabelami InnoDB, możesz znacznie zwiększyć szybkość wstawiania, umieszczając je w transakcji i wykonując wiele wstawień w jednym zapytaniu:

START TRANSACTION
INSERT INTO x (id, md5, field1, field2) values (1, '123dab...', 'data1','data2'),(2,'ab2...','data3','data4'),.....;
COMMIT


  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 - połącz się ze zdalnym serwerem za pomocą adresu IP

  2. Dlaczego MySQL InnoDB jest o wiele wolniejszy przy skanowaniu pełnych tabel niż MyISAM?

  3. Jak długi jest skrót SHA256?

  4. Jak wstawić punkt przestrzenny mysql za pomocą modelu yii?

  5. Jakie uprawnienia są wymagane, aby użytkownik MySQL mógł utworzyć bazę danych?