![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
SSIS Have 8 million record table that my lookup transform is using, problem seems the entire table is loaded into cache before the task begins. This of course brings my ssis server to it's knees. Played with 'Enable mem restriction' on Advanced tab, this just limits the rows brought into cache which causes more misses of course. How to solve? Wanted to use lookup transform for the following: - Pull records from oledb source - Lookup in oledb destination first to see if record exists - if record does not exist, send to destination as insert. This has got to be common w/ etl (if exists update, else insert), just can't find any documenation for this specific 'how-to'... any help much appreciated tia chris |
#3
| |||
| |||
|
|
SSIS Have 8 million record table that my lookup transform is using, problem seems the entire table is loaded into cache before the task begins. This of course brings my ssis server to it's knees. Played with 'Enable mem restriction' on Advanced tab, this just limits the rows brought into cache which causes more misses of course. How to solve? Wanted to use lookup transform for the following: - Pull records from oledb source - Lookup in oledb destination first to see if record exists - if record does not exist, send to destination as insert. This has got to be common w/ etl (if exists update, else insert), just can't find any documenation for this specific 'how-to'... any help much appreciated tia chris |
#4
| |||
| |||
|
|
Hello Chris, With the Lookup transform you can choose Full Cache - bring the reference table into memory - good if you have lots of memory Partial - Add rows to the cache as they are used - Good if using less memory or the range of rows looked up could be less None - Always query the Db every time - useful in low memory conditions. If you are struggling loading the 8 million into memory Why not use a merge join instead with an OUTER join? I often use this if the lookup references a good few rows. Allan SSIS Have 8 million record table that my lookup transform is using, problem seems the entire table is loaded into cache before the task begins. This of course brings my ssis server to it's knees. Played with 'Enable mem restriction' on Advanced tab, this just limits the rows brought into cache which causes more misses of course. How to solve? Wanted to use lookup transform for the following: - Pull records from oledb source - Lookup in oledb destination first to see if record exists - if record does not exist, send to destination as insert. This has got to be common w/ etl (if exists update, else insert), just can't find any documenation for this specific 'how-to'... any help much appreciated tia chris |
#5
| |||
| |||
|
|
Hello Chris, With the Lookup transform you can choose Full Cache - bring the reference table into memory - good if you have lots of memory Partial - Add rows to the cache as they are used - Good if using less memory or the range of rows looked up could be less None - Always query the Db every time - useful in low memory conditions. If you are struggling loading the 8 million into memory Why not use a merge join instead with an OUTER join? I often use this if the lookup references a good few rows. Allan SSIS Have 8 million record table that my lookup transform is using, problem seems the entire table is loaded into cache before the task begins. This of course brings my ssis server to it's knees. Played with 'Enable mem restriction' on Advanced tab, this just limits the rows brought into cache which causes more misses of course. How to solve? Wanted to use lookup transform for the following: - Pull records from oledb source - Lookup in oledb destination first to see if record exists - if record does not exist, send to destination as insert. This has got to be common w/ etl (if exists update, else insert), just can't find any documenation for this specific 'how-to'... any help much appreciated tia chris |
![]() |
| Thread Tools | |
| Display Modes | |
| |