De standaardwaarde van de Maximum insert commit size is 2147483647, de grootste waarde die een INT van 4 bytes kan bevatten. Deze waarde is standaard ingesteld in SQL 2012+, maar in versies lager dan 2012 moet je hem zelf instellen. Meestal laat je deze instelling zoals hij is.
De waarde 0 betekent dat alle data in één batch wordt gecommit, nadat alle rijen zijn verwerkt.
Alles in één batch committen kan veel effect hebben op de performance. Soms ligt de winst tussen 60% en 70%. Helaas heeft het een nadelig effect op zowel de Temp DB als het transaction log. Op zichzelf is dit een goed idee. In de praktijk, met meerdere processen die tegelijk draaien, kan het effect op de Temp DB en het transaction log meer pijn doen dan de kortere laadtijd oplevert.
Deze instelling kan de performance echt verbeteren, maar je moet goed nadenken en afwegen voordat je hem in productie gebruikt. In situaties die je onder controle hebt, zoals de nachtelijke loads van een datawarehouse, kan dit je laadtijden echt verkorten.
Veelgestelde vragen
Wat is de standaardwaarde van Maximum insert commit size in SSIS?
De standaard is 2147483647, de grootste waarde die een INT van 4 bytes kan bevatten. SQL Server 2012 en later stellen die standaard in. In oudere versies stel je hem zelf in. Meestal laat je hem zoals hij is.
Wat betekent een Maximum insert commit size van 0 in SSIS?
SSIS commit dan alle data in één batch, nadat alle rijen zijn verwerkt. Dat is het tegenovergestelde van de standaard, de grootste waarde die een INT van 4 bytes kan bevatten.
Maakt een Maximum insert commit size van 0 een SSIS-load sneller?
Dat kan. De winst is soms 60% tot 70%. De prijs is extra belasting op de TempDB en het transaction log.
Wanneer kan ik in SSIS veilig alle rijen in één batch committen?
In situaties die je onder controle hebt, zoals de nachtelijke loads van een datawarehouse. Als er veel processen tegelijk draaien, kan de extra belasting op TempDB en transaction log meer kosten dan de snellere load oplevert.
Wat zijn de risico's van Maximum insert commit size op 0?
Het heeft een nadelig effect op zowel de TempDB als het transaction log. Gebruik het in productie alleen na goed nadenken en afwegen, niet als standaard.

Reacties
Gerelateerde blogs
Data Warehouse - Waarom heb je er een nodig?
SSAS OLAP geeft verkeerde resultaten
Dimension security implementeren in SSAS