Showing posts with label learning. Show all posts
Showing posts with label learning. Show all posts

Wednesday, March 21, 2012

Optimization Within ForEachLoop For Iteration Through A Large DataSet.

I would truly appreciate some Information/clarification for the below scenario:
I am a novice and am still learning with this new tool:

I am Iterating through a DataSet that is stored in a variable as an object.
The Data Set contains approximately 10,000 lines of data ( here in lies the problem)

I am using a ForEachLoop container to iterate through this large set of data:

In the loop are several ExecuteSQLTasks, which may or may not return a results.
There are roughly 12 tasks here.
At the end of the 12 tasks I do an Update.

I find the processing to be slow. Even after:

- placing the iteration into a separate package and calling it out of process.


- Running the iteration with only one process within it.(for testing purposes)

From what I've read on the forum, execution should be quite fast

Could someone enlighten me on how execution is called within the ForEachLoop, are there solutions I can pursue ? Or should I rethink the design?

your help is greatly appreciatedIf you could build your process using data flows instead of Exec SQL, I think your performance will go up. It sounds like you are inserting/updating each row individually, rather than treating it as a batch. SSIS performs much better when you make use of the data flow components, and handle your processing within the data flow.|||Thank You Very Much for you Prompt Reply John.

Yes I have been following your advice. Hence my Tardy Reply.

With some design changes, appropriate lookups and parallel processing
I've managed to successfully execute the package under 10 minutes.

Though I'm sure there is room for Improvement.

Once again thank you for your advice.|||

Glad to help. Do you mind marking my response as an answer? It helps others searching the forums to find useful information.

Be sure to post if you need anything else.

Optimization Within ForEachLoop For Iteration Through A Large DataSet.

I would truly appreciate some Information/clarification for the below scenario:
I am a novice and am still learning with this new tool:

I am Iterating through a DataSet that is stored in a variable as an object.
The Data Set contains approximately 10,000 lines of data ( here in lies the problem)

I am using a ForEachLoop container to iterate through this large set of data:

In the loop are several ExecuteSQLTasks, which may or may not return a results.
There are roughly 12 tasks here.
At the end of the 12 tasks I do an Update.

I find the processing to be slow. Even after:

- placing the iteration into a separate package and calling it out of process.


- Running the iteration with only one process within it.(for testing purposes)

From what I've read on the forum, execution should be quite fast

Could someone enlighten me on how execution is called within the ForEachLoop, are there solutions I can pursue ? Or should I rethink the design?

your help is greatly appreciatedIf you could build your process using data flows instead of Exec SQL, I think your performance will go up. It sounds like you are inserting/updating each row individually, rather than treating it as a batch. SSIS performs much better when you make use of the data flow components, and handle your processing within the data flow.|||Thank You Very Much for you Prompt Reply John.

Yes I have been following your advice. Hence my Tardy Reply.

With some design changes, appropriate lookups and parallel processing
I've managed to successfully execute the package under 10 minutes.

Though I'm sure there is room for Improvement.

Once again thank you for your advice.|||

Glad to help. Do you mind marking my response as an answer? It helps others searching the forums to find useful information.

Be sure to post if you need anything else.

Wednesday, March 7, 2012

operationg system requirement

I am in the process of learning SQL from scratch and figure it would be helpful if I can run a local server and experiment with it as I move along some book reading. I have a few questions regarding the operating system requirement for running a localhost server and hope some of you can answer to my novice questions. Can I setup a server under Windows XP? when I looked thru the documentation it indicated only windows 2000 and other Microsoft server OS will support a SQL server setup. Why then it also indicate XP as compatible? Is it because it's compatible as a client? If I do have to run a server under a different operationg system, what is the best approach for setting up another server on my only PC system along with my XP. Thanks for any answers and comments in advance.

Are you talking about SQL 2005? XP does support SQL 2005, but it depends on which edition you have. See the following link for more information about which edition is supported on which OS. http://www.microsoft.com/sql/prodinfo/sysreqs/default.mspx

|||I'm not completely clear on whether I'm covered for a developer edition
Does "Windows XP with SP 2 or later" mean that the media center edition 2005 should suffice?
|||

Short answer: Yes.

Please see topic "Hardware and Software Requirementse for Installing SQL Server 2005" for more information.

http://msdn2.microsoft.com/en-us/library/ms143506(SQL.90).aspx

|||Short Answer: Thanks
|||so with an athlon 64 X2 dual Core processor 3800+ 2Ghz I should be ordering the
x64 developer version rather than win32? Or would the latter also work (and be compatible with an older processor)
|||

x86 can install on X64 machine, but you should install x64 version if you can.