Mysql
 sql >> база данни >  >> RDS >> Mysql

Оптимизиране на MySQL вмъквания за обработка на поток от данни

Ако вашите данни не трябва да влизат незабавно в базата данни, можете да кеширате своите вмъкнати данни някъде, след което издайте един по-голям оператор за вмъкване, напр.

вмъкване в table_name (x, y, z) стойности (x1, y1, z1), (x2, y2, z2), ... (xN, yN, zN) при дублирана актуализация ...;

За да бъде ясно, бих поддържал списък с чакащи вложки. В този случай списък от (x,z,y) триплети. След това, след като вашият списък надхвърли някакъв праг (N), вие генерирате израза за вмъкване и го издавате.

Нямам точни данни за времето за вас, но това увеличи производителността приблизително 10 пъти в сравнение с вмъкването на всеки ред поотделно.

Също така не съм си играл със стойността на N, но открих, че 1000 работи добре. Очаквам, че оптималната стойност се влияе от настройките на хардуера и базата данни.

Надявам се това да помогне (аз също използвам 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. WAMP сървърът е в зелено, но получавате само 404

  2. MySQL сега() +1 ден

  3. Mysql Как се създава клъстериран индекс?

  4. Намерете конкретна колона в неизвестна таблица в база данни?

  5. Намерете редове с дублиращи се/подобни стойности на колони MySQL