Knihovna pro Multi-insert

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
ondrej256
Člen | 186
+
+1
-

Zdravím,

dělal jsem hromadný import dat do databáze, který trval přes 10 minut. Zamyslel jsem se jak čas snžit, protože byl pro mně nepřijatelný.

Využil jsem multi-Insertu a čas zredukoval. Pro jednoduché použití multi-insertu jsem udělal jednoduchou knihovnu pro hromadné vkládání. V konstruktoru předáme Context, název tabulky a definujeme velikost bufferu (po kolika záznamech se bude vkládat).

Metodou add stačí vkládat záznamy, které jsou vyprázdněny (vloženy do DB) při naplnění bufferu.

Po vložení všech dat je ještě potřeba zavolat metodu cleanBuffer() pro vyprázdnění zbývajících dat v bufferu.

readme je také výkonostní testování, které dopadlo velice příznivě.

Zajímaly by mně vaše názory na knihovnu a případné tipy na zlepšení.

Děkuju

Myiyk
Člen | 321
+
0
-

V composer.json máš zbytečně požadavek na celé nette, vždyť ti stačí jen databáze ne?

Metoda cleanBuffer je názvem trochu matoucí. Kdyby se jmenovala save, je každému jasné co dělá.

Prosím moderátora aby vlákno přepnul na diskusi, ta bude vhodnější.