Welcome to blogs.conchango.com Sign in | Join | Help

Welcome to blogs.conchango.com

SSIS Junkie

SSIS: Perhaps child packages aren't such a burden after all

My last post on using child packages in SSIS solutions had been bugging me a little. In it I was basically making the conclusion that using child packages is generally a bad thing if you are going to be calling them multiple times. What I didn't consider when making this rather hasty judgement was the overhead that BIDS places on the execution and was THIS the main reason that my packages were running so slowly.

So...onto a little investigation.

I put together a package structure that called multiple child packages, very similar to what I used to demo my last post. I ran it through BIDS and the execution time was approx 90 seconds. I ran it using the command line tool DTExec and the execution time was sub-20 seconds. I don't think I really need to say much else about this.

Clearly BIDS places a massive overhead on running your packages. This isn't surprising when you consider everything extra that is going on when BIDS is used. Showing all of the running process...showing progress...consuming events, colouring everything in pretty colours....it all comes at a cost. A heavier cost than certainly I had previously imagined.

I would still advocate not using child packages for doing one-off discrete operations (e.g. inserting into a logging table) but it seems that the overhead of using child packages is not as great as I had previously assumed. The overhead is with BIDS....and a big overhead it is too.

The lesson here seems to be that if you want to ge a true representation of how your package is going to perform in a scheduled, live environment....run it using DTExec, NOT through BIDS. [Another personal lesson is not to go jumping to assumptions and conclusions but we'll leave that to one side for now :) ]

-Jamie

 

Published 02 March 2005 21:34 by jamie.thomson

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

TrackBack said:

March 22, 2005 16:59
 

jamie.thomson said:

A tip - if you want to run package using DTExec ... from BIDS: click Ctrl-F5 instead of F5 to run package (or menu Debug > Start Without Debugging).
April 21, 2005 04:36
 

Pier said:

Do you actually know what goes on when you run a package in your dev envionment? I think you don't!

August 28, 2008 12:48

Leave a Comment

(required) 
(optional)
(required) 
Submit

This Blog

Syndication

Powered by Community Server (Personal Edition), by Telligent Systems