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

Kurz SQL byl jedním slovem výborný. Připravená smysluplná databáze spolu s příklady, včetně příkladů s vysokou obtížností - je tak možné dostatečně zabavit i pokročilejší studenty. Za pozitivní považuji opravdu

Michal

Školení bylo super, zopakoval jsem si základy a také se dozvěděl spoustu nového ohledně SQL. Obrovské plus bylo v přátelském přístupu školícího.

Vít

Se školením jsem nadmíru spokojen, nejen že je výklad formou, která zaujme, ale i lajk se v tom neztrácí a je schopen pochopit i těžší úlohy.

Miloš


Novinky

3.1.2018: Oracle XE 12c nebude, místo toho bude Oracle XE 18c
V roce 2018 nás čeká nová XE verze a nové verzování

4.4.2017: SAP HANA & Veverka (SQuirrel SQL)
Oficiální SAP HANA studio funguje, ale je hrozně pomalé. Další z nástrojů, kde je možné rozchodit SAP HANA je Veverka (SQuirrel SQL)

25.3.2017: SAP HANA referenční příručky
V současnosti je trošku složitější najít na webu referenční příručku k SAP HANA SQL, proto sem dávám odkazy.