2009-06-12 7 views
0

Je crée un magasin de données dans SQL Server 2008 en utilisant SSIS pour le chargement et SSAS pour un cube OLAP. Jusqu'à présent, tout fonctionne bien. Toutefois, je n'ai créé aucun index sur la base de données source autre que le clustering par défaut sur la clé primaire. Je suis assez à l'aise avec la conception d'index sur les bases de données d'applications, mais comme cette base de données est destinée à être la source d'un cube, je ne suis pas sûr du type d'indexage, le cas échéant.Index dans un entrepôt de données

Y at-il une sorte d'indexation que je devrais faire pour améliorer le traitement des dimensions et du cube? J'utilise votre stockage Molap habituel.

Répondre

1

Généralement, la meilleure pratique consiste à conserver les index et les contraintes hors des points de vente, à moins qu'ils ne soient utilisés directement pour les rapports. Les index et les contraintes peuvent sérieusement réduire votre temps ETL (en particulier avec les quantités de données qui vont généralement dans les entrepôts). Ce que j'ai trouvé fonctionne mieux est d'avoir un PK unique et solitaire sur toutes vos tables (en fait, parce que j'ai des touches composites, et je vais juste hacher le composite pour obtenir un PK si j'ai à). Les PK (qui sont des colonnes d'identité) vous fournissent un index généré automatiquement, une jointure rapide lors de la construction des cubes et des insertions très rapides.

Si vous envisagez de créer des rapports, créez les index comme vous le feriez, mais assurez-vous de désactiver puis de reconstruire les index dans le cadre de votre processus ETL. Sinon, les encarts en masse prennent un certain temps à faire (des heures et des heures à commettre, dans certains cas).

+0

C'est à peu près ce que j'ai fait jusqu'à maintenant. C'est bon de voir que je ne pars pas dans une direction folle. –

Questions connexes