!!! Od 1.6.2022 jsem zaměstnán na HPP. Kde? To tady nemůžu napsat (kvůli Compliance). Ale na mém Linkedin účtu (nick: Jirka Pinkas) to určitě najdete. 😁 V současnosti mám volných 10 dní, které mohu alokovat na školení 😊

Optimalizace velkého množství INSERT operací

publikováno: 2.3.2016

Potřeboval jsem získat data z jedné databáze a uložit je do jiné, která běží na úplně jiném serveru a navíc je v malinko jiném formátu než zdrojová databáze. Tudíž jsem nemohl použít replikaci a další nástroje, které jsou určené ke zkopírování dat 1:1.

Nejprve jsem udělal jednoduchý INSERT, který jsem vykonal pro každý záznam zdrojové tabulky. Pro malé tabulky (méně než 100,000 záznamů) je toto plně dostačující řešení. Problém byl v tom, že moje tabulka měla několik milionů záznamů. Po několika desítkách minut, kdy bylo tímto způsobem uloženo řádově několik desítek tisíc záznamů jsem zjistil, že na to musím jít jinak.

Použil jsem INSERT multirow VALUES syntaxi:

INSERT INTO films (code, title, did, date_prod, kind) VALUES
    ('B6717', 'Tampopo', 110, '1985-02-10', 'Comedy'),
    ('HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy');

Vždy jsem ukládal 10,000 záznamů najednou a tabulka s několika milióny záznamů byla překopírována za několik jednotek minut.

Reference

Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek

Certicon
David

Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů.

Jaroslav

Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.

Retia
Jaromír


Novinky

25.12.2023: testcontainers pro lokální vývoj

25.12.2023: Kubernetes & Prometheus Documentary

9.8.2023: Rancher Desktop 2023