• That is a huge IT DEPENDS!

    If you can identify a reliable delta of changed records from the source then I would look at an incremental patters (don't forget about deleted records)

    If you can't then you have no choice but to do a record by record compare between the incoming data and the existing DW data. If your datasets are large then you should look at using MERGE OUTPUT as the database engine is way better at this RBAR processing than SSIS.

    If you have a high volume of changes you may want to look at dropping indexes prior to update and then rebuilding them.

    Truncating the whole table may mean losing historic Type II changes

    You may need more than one staging zone: I have seen systems with 4! Source Extract, Data Cleanse, PreStage (3NF), Staging (Type I Facts and Dims), Insert/update DW