SSIS – Supprimer et insert toutes les lignes ou mettre à jour et insert

J'essaie de find quelle est la meilleure façon de le faire.

Avoir une vue sur datatables en direct et je veux insert les lignes à ma table DW. Je ne sais pas ce qui sera le plus efficace.

  • Supprimez toutes les lignes de la table de destination et insérez la vue entière.
  • Mettez à jour ou insérez uniquement de nouvelles lignes.

Il faut 4 minutes pour supprimer les lignes et insert la vue entière. Essayer de voir si mettre à jour et insert seulement de nouvelles le rendra plus rapide.

En ce moment, j'ai 350k lignes dans ma database en direct et il augmente de 2000 / semaine. La vue / table a 90 colonnes et je ne sais pas comment le faire dans SSIS.

  • Dois-je faire une jointure entre la vue et la table de destination?
  • Dois-je utiliser la search et insert une nouvelle ligne? (Est-ce que cela fonctionne en cas de mise à jour nécessaire?)

J'ai regardé quelques exemples en ligne, mais je ne sais pas si j'ai besoin de faire la jointure sur toutes les colonnes afin de vérifier les lignes mises à jour.

Quelques points à considérer – 1. Y a-t-il un besoin de maintenir l'histoire? Si oui, vous ne pouvez pas tronquer et recharger.

  1. Taux de croissance: 2000 (rangées / semaine) * 52 (semaines / année) = 104 000 (rangées / année) Donc, dans 3 ans, il va doubler (grosso modo). Cela ne veut pas dire que ça prendrait 8 minutes. Cela peut prendre 5-6 minutes. Avec la technique d'insertion / mise à jour, même si vous économisez 2 minutes par course, est-ce si important? Si non, alors pourquoi introduire la complexité du process.

  2. Si vous avez besoin d'une comparaison quantitative des deux methods, vous devrez écrire le code et comparer – je ne connais pas de raccourci.

  3. Si vous décidez de faire insert / mettre à jour, je vous suggère de garder un hachage de toutes les 90 colonnes dans une nouvelle colonne. Pendant la fusion, comparez le hachage et, s'il est différent, mettez à jour les 90 colonnes. Quatre-vingt-dix colonnes sont beaucoup à comparer individuellement.

Si vous avez besoin d'aide avec insert / update avec hash-comparison, veuillez revenir en arrière.