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

SQL Oracle Discussion :

[9i] Eviter un table access full via une vue


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut [9i] Eviter un table access full via une vue
    Bonjour voici une vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    create or replace view FACTHEA_VUE AS 
    SELECT 2 AS CODSOC, a.* FROM FACTHEA_1 a
    UNION ALL
    SELECT 3 AS CODSOC, b.* FROM FACTHEA_2 b
    UNION ALL
    SELECT 4 AS CODSOC, c.* FROM FACTHEA_3 c
    UNION ALL
    SELECT 5 AS CODSOC, d.* FROM FACTHEA_4 d
    UNION ALL
    SELECT 6 AS CODSOC, e.* FROM FACTHEA_5 e
    UNION ALL
    SELECT 7 AS CODSOC, f.* FROM FACTHEA_6 f
    UNION ALL
    SELECT 8 AS CODSOC, g.* FROM FACTHEA_7 g
    UNION ALL
    SELECT 9 AS CODSOC, h.* FROM FACTHEA_8 h
    Je voudrais que l'accès suivant ne fasse pas un FULL SCAN sur chaque table de la vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM FACTHEA_VUE WHERE CODSOC = 2
    Avez-vous une idée ?

    Merci par avance pour vos réponses,

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    bah pourquoi tu fais une vue pour joindre des ensembles qui sont disjoints ???

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut
    C'est un progiciel !

    Je pense qu'il faut passer par une vue materialisée.

    Existe-t-il une autre solution ?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    mouais... mais attention, la MV n'est pas synchrone

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut
    C'est possible d'avoir une fonction PL/SQL qui renvoie un curseur.

    Un truc du type :

    Select *
    from MAPLSQL(moncode) ?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    oui recherche REF CURSOR

Discussions similaires

  1. Access Full sur une table
    Par khabot dans le forum Administration
    Réponses: 6
    Dernier message: 04/12/2009, 10h15
  2. Suppression d'un TABLE ACCESS FULL
    Par _-Sky-_ dans le forum Optimisations
    Réponses: 8
    Dernier message: 12/12/2008, 09h29
  3. [XMLTYPE] - Index - TABLE ACCESS FULL
    Par jacquesh dans le forum SQL
    Réponses: 10
    Dernier message: 16/01/2008, 22h51
  4. Optimisation de requette TABLE ACCESS (FULL)
    Par e77em dans le forum Oracle
    Réponses: 10
    Dernier message: 16/09/2005, 11h39
  5. Problème de TABLE ACCESS FULL
    Par elitost dans le forum Administration
    Réponses: 14
    Dernier message: 25/09/2004, 12h37

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