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

MS SQL Server Discussion :

TSQL Création Vue Dynamique


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    DSI
    Inscrit en
    Mars 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Mars 2009
    Messages : 102
    Par défaut TSQL Création Vue Dynamique
    Bonjour,

    Je suis en train de reprendre un vieux cube 2000 pour y rajouter axes et indicateurs en 2005.

    Il consiste en gros à totaliser 20.000 articles en stock * 48 mois * 15 filiales.

    Cela me donne une table de fait de 14 400 000 lignes, avec à gérer la problématique (simple) des 48 mois tournants.

    En regardant un peu ce qui existe déjà depuis une dizaine d'année, je me suis aperçu que notre fournisseur initial gérait une table par filiale et par mois au format STK_xxxx_AAAAMM ou xxxxx est le code filiale, AAAA l'année, MM le mois, soit un total de 720 tables de 20000 lignes et concaténait toutes ces tablas dans une vue.
    La procédure stockée de traitement de tout ça effectue:
    • Le delete de la vue
    • Suppression des table trop vieilles
    • Ajout des tables pour la nouvelle période
    • Recréation de la vue en bouclant à l'aide d'un curseur sur le nom des tables.(Un simple UNION ALL)

    Sachant qu'outre l'alimentation du cube, je voudrais rajouter des Reports basés sur des requetes SQL afin de justifier un peu les chiffres du cube, je me pose les questions suivantes:
    • A part la facilité de maintenance (effacement des tables puis rajout d'une autre table) y a t il un autre avantage à utiliser cette technique ? (plutot que d'avoir à gérer une seule grosse table ?)
    • Comment se comportent les index dans une vue d'une telle dimension sachant que chaque table est indexée sur 3 ou 4 champs ?
    • Quelles pourraient être les performances de simples requetes sur cette table, sachant qu'il s'agirait d'extraire des lignes détail en fonction de critères particuliers?

    Merci de vos avis.

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    720 tables de 20000 lignes et concaténait toutes ces tablas dans une vue ... Un simple UNION ALL
    Une table unique avec un bon index sera forcément plus performante qu'une vue qui fait un UNION ALL.

    effacement des tables puis rajout d'une autre table
    On peut très bien supprimer les enregistrements anciens.

    Comment se comportent les index
    S'il s'agit d'un ajout par mois des données des 720 filiales, ce ne sera pas plus long que de créer 720 tables ...
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Vous pouvez effectivement regrouper toutes ces tables dans une seule, partitionnée par mois ou par filiale, suivant vos requêtes

    @++

  4. #4
    Membre confirmé
    Profil pro
    DSI
    Inscrit en
    Mars 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Mars 2009
    Messages : 102
    Par défaut
    Merci de vos réponses.

    Je supposerai que ce genre d'écriture était valable sur d'anciens SGBD.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création Vue dynamique
    Par castorcharly dans le forum Développement
    Réponses: 5
    Dernier message: 17/01/2011, 15h12
  2. Création vue avec test d'existence
    Par yan77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/12/2004, 11h44
  3. Creation d'une vue dynamique ?
    Par Simeans2004 dans le forum Administration
    Réponses: 5
    Dernier message: 01/07/2004, 15h25
  4. [Plugin] Création d'une vue dynamiquement
    Par The Bonze dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 15/06/2004, 13h23

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