Question

Je suis en train d'améliorer la performance d'un package SSIS.

Une chose que je me suis startted avec est de filtrer la table de référence des Lookups. Jusqu'à présent, j'utilisais une table comme une table de référence pour cette recherche.

D'abord improvment était de changer la table à une clause SQL qui sélectionne uniquement les colonnes dont j'ai besoin de ce tableau.

Ensuite, je veux charger dans ce tableau juste les disques que je sais que je vais utiliser pour vous. Si je suis le maintenir dans cet état, je vais me charger 300 000 lignes ou plus (lignes énormes avec un contenu binaire d'environ 500 kb chacun) et utiliser juste 100 d'entre eux.

Je mettrais des filtres dans la requête SQL qui définit la table de référence de la recherche, mais, dans ce filtre je dois utiliser toutes les IDs des lignes chargées dans ma source OLE DB.

Est-il possible de le faire?

Je pensais à charger chaque ligne à la fois à l'aide d'une commande OleDB au lieu d'une recherche, mais à l'exception de beeing de temps, je pourrais me charger la même chose 100 fois pour 100 lignes différentes, quand je pouvais le charger une fois dans la recherche et de l'utiliser 100 fois ...

enableing le cache serait encore une autre option qui ne sonne toujours pas très bien, parce que cela nous ralentir - nous sommes déjà terriblement lent

.

Les ideeas sont très appreaciated.

Était-ce utile?

La solution

Une possibilité est d'abord diffuser les ID distincts à une table permanente / temporaire dans un flux de données, puis l'utiliser dans votre recherche (avec une jointure) dans un flux de données plus tard (vous avez sans doute de reporter la validation).

Dans un grand nombre de nos forfaits ETL, nous avons d'abord les données diffusons dans un fichier Raw, traiter toutes les conversions de type et tout sur le chemin. Puis, quand toutes ces conversions ont réussi, nous traitons la création de nouvelles dimensions, puis les faits reliant aux dimensions.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top