Jak hodně zpomalují integritní omezení DML operace? Hodně :-) Důležité upozornění: Integritní omezení rozhodně používejte, ale jsou situace, kdy je vhodné je vypnout (a pak zase zapnout). Jednu takovou situaci jsem zažil právě teď.
Vesele si kopíruji data do nové tabulky (ve které jsem zatím neměl žádná integritní omezení) a jsem spokojený jak to běží rychle. A pak jsem přidal integritní omezení a najednou to kopírování je nějaké pomalé (v závislosti na počtu záznamů v tabulce to bylo opravdu výrazně pomalejší). Problém byl ten, že při každém přidání záznamu do tabulky se naprosto logicky kontrolovaly integritní omezení (a v tabulce bylo cca. 3 milióny záznamů, tudíž při každém přidání dalšího záznamu se jich muselo kontrolovat víc a víc).
Řešení? Před hromadném množství DML operací integritní omezení vypnout a po skončení všech operací je opět zapnout. Jestli je toto vhodné řešení v dané situaci ale také záleží na počtu DML operací které provádíte. Při zapínání integritních omezení se musí jednorázově projít všechny záznamy a zkontrolovat platnost integritního omezení ... a to také není časově laciná operace.
Š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
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ů.
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ů.