ssis - Lookup transformation against very large target table -


i creating ssis package attempts find rows in table not in table b. join column identity column in table clustered index , column in table b not identity, indexed. , doing in batches of 10,000 rows @ time. both table , table b have approximately 350m rows.

i thought lookup transformation appropriate cannot use full cache because attempts load 350m rows in cache! if use no cache, process of looking 10,000 rows horrendously slow (even though lookup column in table b indexed).

also, table , table b in 2 different databases on 2 different servers.

is there transformation more appropriate want do?

using sql server 2014.

you try merge join component in data flow task.

  • drop 2 data source components onto ide;
  • assume using sql command, ensure query result ordered join column;
  • open data source component in advanced mode, on input , output properties tab, set output sorted (issorted = true), , set sortkeyposition 1 join column;
  • then drop merge join component , link 2 data source components it.
  • open merge join component , change join type left join, , tick columns want have;
  • finally drop conditional split component split output rows join column. because use left join in merge join component, isnull(joining column) == true looking after

actually when deal large amount of rows, try other ways improve performance, such importing both tables staging database sql join, set operation faster row row process.


Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -