Az közismert, hogy a BULK INSERT parancs és a bcp.exe vagy az SqlBulkCopy osztály gyorsabban tud adatokat betölteni egy táblába, mint a sima insert. Méréseim szerint pár 10x gyorsabban. Azért gyorsabb, mert nem minden sort logolnak, csak nagyobb allokációs egységeket. Eddig ez ok. Ami nem, hogy ez messze nem minden helyzetben megy, sokszor átcsap teljesen logolt működésbe. Nem arra a triviára gondolok, hogy Full Recovery modell esetén így működik, az ok. Hanem az indexek is befolyásolják, hogy mikor lesz simán logolt egy művelet. Pl. ha van Clustered index a táblán és van benne adat, akkor nem lesz logolt a művelet, punktum!
Tessék megnézni a cikk végén a táblázatot.
Update: SQL Server 2008-ban ez is változik, majd írok róla később. Legyen elég annyi, hogy az insert-select is minimálisan logolt lesz. :)
Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.