2015-07-27 1 views
2

Salut J'ai une question concernant la requête de schéma en étoile dans MS SQL Datawarehouse.Star Schema Query - devez-vous inclure toutes les dimensions (jointures) dans la requête?

J'ai une table de faits et 8 dimensions. Et je suis confus, pour obtenir les paramètres de Fact, devons-nous joindre toutes les dimensions avec Fact, même si je ne reçois pas de données de leur part? Est-ce nécessaire pour les bonnes métriques?

Ma table de faits est énorme, c'est pourquoi je me pose des questions sur les performances et la bonne façon d'interroger.

Merci!

Répondre

1

Vous n'êtes pas obligé de joindre les 8 dimensions. Vous devez uniquement joindre les dimensions qui contiennent les données dont vous avez besoin pour analyser les statistiques dans la table de faits. Pour améliorer les performances, veillez à inclure uniquement les colonnes de la table de dimension nécessaires à l'analyse. Inclure toutes les colonnes des dimensions que vous rejoignez diminuera les performances.

0

Il n'est pas nécessaire d'inclure toutes les dimensions. En effet, tout en explorant les tables de faits, il est très important d'avoir la possibilité de sélectionner uniquement certaines dimensions pour se joindre et laisser tomber les autres. Les problèmes de performance ne doivent pas être une excuse pour abandonner cette capacité.

Vous disposez de plusieurs techniques pour résoudre les problèmes de performances en fonction de la base de données que vous utilisez. Quelques façons courantes:

  • tables agrégées: c'est l'un des meilleurs moyens de résoudre les problèmes de performance. Si vous disposez d'une table de faits volumineuse, vous pouvez en créer une version agrégée en utilisant uniquement les colonnes les plus fréquemment consultées. De cette façon, il devrait être beaucoup plus petit. Ensuite, les utilisateurs (ou l'application de requête adhoc) doivent utiliser la table aggregate à la place de la table de faits d'origine lorsque cela est possible. La bonne nouvelle est que la plupart des bases de données savent gérer automatiquement les tables agrégées (les vues matérialisées par exemple). Les requêtes qui ciblent initialement la table de faits d'origine sont redirigées de manière transparente vers la table d'agrégats lorsque cela est possible. Indexation: l'indexation bitmap par exemple peut être un moyen efficace d'augmenter les performances dans une table de faits de schéma en étoile.