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 :

Index sur jointure pour accélérer rafraichisement vue matérialisée


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Par défaut Index sur jointure pour accélérer rafraichisement vue matérialisée
    Bonjour;

    J'ai cette création de vue matérialisée :
    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 MATERIALIZED VIEW CORE.VALIDITY
    BUILD IMMEDIATE
    REFRESH ON COMMIT
    WITH PRIMARY KEY 
    ENABLE QUERY REWRITE
    AS
    SELECT
    	...
    FROM 
    	ACE I,
    	EFFECTIVITY E,
    	RANGE R
    WHERE
    	I.ID = E.ACE_ID
    	AND E.ID = R.EFFECTIVITY_ID;
    Quel est la commande SQL Oracle 10g pour créer deux index, un pour chaque jointure ?

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Tu as 2 jointures, mais 3 tables, ce serait donc 3 indexes à créer.
    un sur ACE (ID), un sur EFFECTIVITY (ACE_ID) et un sur RANGE (EFFECTIVITY_ID).
    Pour le code sql je te laisse voir les tuto.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Par défaut
    OK.
    C'est ce que je pensais.
    Mais j'ai vu sur le net que l'on parlait de index join ?

    On peut créer un index à partir de deux index ?

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Un index join est une opération de l'optimiseur Oracle qui n'accède qu'aux données des indexes (et pas des tables) car toutes les données de la requête sont contenues dans les indexes.
    http://download.oracle.com/docs/cd/B...tsref.htm#5232

    Un index est lié à une table, donc il faut créer un index par groupe de colonnes restrictives

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/12/2014, 11h59
  2. [11gR2] Durée élevée pour un REFRESH - Vues matérialisées
    Par d4voisin dans le forum Oracle
    Réponses: 3
    Dernier message: 04/06/2013, 10h29
  3. Réponses: 6
    Dernier message: 07/05/2013, 16h33
  4. Réponses: 10
    Dernier message: 27/04/2006, 16h03
  5. [Sql] index sur vue
    Par fxp17 dans le forum Oracle
    Réponses: 8
    Dernier message: 23/02/2006, 10h56

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