IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Créer des index sur une vue


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 111
    Par défaut Créer des index sur une vue
    Bonjour à tous,

    Je reprend le travail d'un collègue qui avait fait un cube OLAP assez volumineux

    Les indicateurs de ce cube ont pour source une requête dans le DSV qui appel une vue

    Afin d'améliorer les traitement, je voudrai créer des partitions sur le cube basées sur la date afin de ne faire tourner que la partition courante.

    Le pb c'est que je n'ai pas d'index sur la date dans la vue "source", et donc j'ai peur de faire plus de mal que de bien

    Est il possible de créer des index sur une vue existante ? et est ce une bonne pratique ? sinon je suis à l'écoute de vos conseils

    Merci par avance

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Oui, il est possible d'indexer une vue, mais sous certaines conditions (pas de jointure externe, pas de sous requête, j'en passe...)

    Par ailleurs, il faudra d'abord un index cluster sur la vue (il est ensuite possible de créer des indexes secondaires)


    il serait utile d'avoir la structure des tables (avec indexes), la vue en question, la requête... bref, un peu plus d'infos techniques pour répondre plus précisément

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 111
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    Bonjour,

    Oui, il est possible d'indexer une vue, mais sous certaines conditions (pas de jointure externe, pas de sous requête, j'en passe...)

    Par ailleurs, il faudra d'abord un index cluster sur la vue (il est ensuite possible de créer des indexes secondaires)


    il serait utile d'avoir la structure des tables (avec indexes), la vue en question, la requête... bref, un peu plus d'infos techniques pour répondre plus précisément
    Merci

    Cette vue utilise des "unions" donc c'est mort va falloir trouver une autre solution

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 956
    Par défaut
    Bonjour,

    J'ai du mal avec la demande :
    Citation Envoyé par siriu Voir le message
    Sujet : Créer des index sur une vue
    Post : [...]je voudrai créer des partitions sur le cube basées sur la date [...]
    Qu'elle est la relation entre une vue et le partitionnement du cube ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 111
    Par défaut
    Citation Envoyé par Michel.Priori Voir le message
    Bonjour,

    J'ai du mal avec la demande :


    Qu'elle est la relation entre une vue et le partitionnement du cube ?
    La source de la table de fait du cube est une vue.

    Je voudrai créer des partitions basée sur l'année des enregistrements donc je pense qu'un index sur la l'année pourrait accélérer le traitement des partitions

    Je voudrai donc mettre l'index sur l'année dans la source c'est à dire la vue

  6. #6
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 956
    Par défaut
    Bonjour,

    Citation Envoyé par siriu Voir le message
    La source de la table de fait du cube est une vue.
    Je voudrai créer des partitions basée sur l'année des enregistrements donc je pense qu'un index sur la l'année pourrait accélérer le traitement des partitions
    Je voudrai donc mettre l'index sur l'année dans la source c'est à dire la vue
    Si l'indexation de la vue n'est pas possible alors il faudra 'instancier' les données dans une table alimentée par la vue (restreinte sur une période de temps) en combinaison avec l'instruction MERGE.
    Ainsi on dépasse la contrainte et on obtient le résultat attendu

    Maintenant que ça c'est dit, il me semble qu'un retour dans la doc est important :

    [...]
    Vous devez donc veiller à ce que les données d'une partition dans un groupe de mesures ne contiennent pas les données d'une autre partition du groupe de mesures.
    [...]
    Sources de données et stockage des partitions


    Une partition est basée soit sur une table, soit sur une vue dans une source de données, ou sur une table ou une requête nommée dans une vue de source de données.
    Ce qui limite l'intérêt de partitionner la vue...

Discussions similaires

  1. Créer des ballons sur une photo
    Par flamel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 25/03/2007, 15h01
  2. [Preferences] Sauvegarde automatique des préférences sur une vue
    Par pistache42 dans le forum Eclipse Platform
    Réponses: 10
    Dernier message: 04/12/2006, 11h32
  3. comment créer des boutons sur une feuille en utilisant eclipse
    Par ratamahatta dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/06/2006, 19h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo