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

Oracle Discussion :

utiliser une table ou une vue


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 117
    Points : 50
    Points
    50
    Par défaut utiliser une table ou une vue
    Bonjour,

    pour simplifier une requête, j'utilise une vue, mais je me demande s'il ne serait pas plus rapide de créer une table temporaire que je remplirait dans le début de mon traitement et sur laquelle j'aurai créé les bons indexes.

    Qu'en pensez-vous?

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    ça dépend

    Il y a aussi les vues matérialisées qui est une solution intermédiaire

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 117
    Points : 50
    Points
    50
    Par défaut
    C'est quoi exactement les vues matérialisées?

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    une vue rafraichie à la demande

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Citation Envoyé par ljoly
    Bonjour,

    pour simplifier une requête, j'utilise une vue, mais je me demande s'il ne serait pas plus rapide de créer une table temporaire que je remplirait dans le début de mon traitement et sur laquelle j'aurai créé les bons indexes.

    Qu'en pensez-vous?
    SI j'ai compris tu as une requête avec un select à faire sur une vue et tu te poses la question de savoir q'il n'est pas plus rapide de créer une table de l'indexer d'insérer tes lignes et de faire tes select dessus...

    Tu as la réponse dans la question , il est plus rapide de faire un select ( avec un explan plan optimisé ) que de faire :
    - Création de la table
    - Création de l'index
    - Insertion de la table
    - Mise à jour de l'index
    - Puis Select.
    - Puis je suppose un Delete ou truncate

    D'autant plus il faut gérer les stats sur cette table. ( bien que le fait de passer par une global temporary table résoudra ce probléme )

  6. #6
    Membre averti Avatar de macben
    Inscrit en
    Mars 2004
    Messages
    546
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2004
    Messages : 546
    Points : 433
    Points
    433
    Par défaut
    Citation Envoyé par Jaouad
    Tu as la réponse dans la question , il est plus rapide de faire un select ( avec un explan plan optimisé ) que de faire : [..]
    Quel est vraiment l'intérêt des tables temporaires mis à part ce poser ce genre de question ?

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Les global temporary tables :

    Qui sont apparus avec la version 8i réponde à des problématiques bien précises, notamment dans le cas d'utilisation d'ERP.

    Chaque session va accéder à une instance de la table sans voir les données des autres.

    - On ne multiplie pas les tables de travail
    - Simplification du code
    - Calcul de stat automatisé ( ce qui evite un mauvais Explain plan du à l'insertion )
    - A la fin de la session les données sont supprimés automatiquement.
    - Possiblité de crée un ou des index(s), dans l'ordre de CREATE INDEX il ne faut pas spécifier de tablespace
    - ...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 117
    Points : 50
    Points
    50
    Par défaut
    Si je comprends bien, une table global temporary répondrait à mon besoin

  9. #9
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    A mon avis une vue optimisé est la meilleure solution

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 117
    Points : 50
    Points
    50
    Par défaut
    une vue optimisée, c'est à dire créé à partir d'une requête optimisée? (avec le bon plan d'exécution)

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Oui

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 117
    Points : 50
    Points
    50
    Par défaut
    merci

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 117
    Points : 50
    Points
    50
    Par défaut
    Existe t'il une doc ou un tutoriel qui pourrait m'aider à interpréter un plan d'exécution? j'utilise pl/sql developper

  14. #14
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798

  15. #15
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075

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

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. Réponses: 1
    Dernier message: 19/10/2011, 12h13
  3. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  4. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  5. Copier les enregistrements d'une table vers une table d'une autre DB
    Par karinette21 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2008, 21h50

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