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.
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.
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.
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.
Si vous avez besoin d'une comparaison quantitative des deux methods, vous devrez écrire le code et comparer – je ne connais pas de raccourci.
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.