Mémo : Comment éviter le composant de tri dans SSIS

Bonjour,

Voici un nouveau mémo orienté SSIS. Il s’agit d’eviter un cas de figure assez fréquent, l’usage d’un composant Sort/Tri après une source OLEDB afin d’alimenter un composant de jointure.
Le déport du Sort/Tri peut aisément etre fait dans la requete SQL. Cependant, il faut spécifier que les données sont triées pour alimenter la jointure.
La solution consiste à éditer en mode avancé le composant source OLEDB puis de :
– Specifier que OLEDB Source Output IsSorted = true
– Specifier pour chaque colonne que vous avez mis dans votre Order By, la position de tri.

Pour plus de détails (en anglais) et des screen shots : http://www.ssistalk.com/2009/09/17/ssis-avoiding-the-sort-components/

A bientôt,

Guillaume

  1. C’est une astuce à utiliser autant que possible … en précisant bien dans des commentaires que le tri est fait dans le SQL, pour faciliter le boulot du suivant ^^

    De manière générale, le moteur SQL est puissant et il est intéressant de déporter un maximum d’opérations dans le SQL (sort, join, …)
    C’est même parfois la seule solution lorsque l’on traite de gros volumes de données.

  2. Entièrement d’accord avec toi (le commentaire est malheureusement souvent omis, d’expérience).

    Merci pour ta contribution

  3. Un commentaire d’un lecteur du blog reçu par email :

    cette astuce fonctionne aussi sur les fichiers RAW et sur le composant aggregate, ça évitera peut-être à certain l’utilisation d’un SORT et sauvera par la même occasion une famille de bébés panda.

Leave a Reply