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 :

MV (Materialized View)


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 34
    Par défaut MV (Materialized View)
    Bonjour,

    Je dois créer une MV avec la clause NEVER REFRESH.

    Il faut attendre chaque semaine la fin de l'importation d'une table (sous SQL loader) pour rafraichir le contenu de la MV.

    Quel est l'ordre à passer (sous une stored procedure exécutée une fois par semaine) pour obtenir le rafraichissement de cette MV SVP ?

    Peut-on y ajouter une PK et des index ?

  2. #2
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    dbms_mview.refresh
    Cordialement,
    Franck.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 34
    Par défaut
    Merci.

    J'envisage une autre situation. Ma MV se base sur une table T.

    Si T subit un Truncate, comment faut-il paramétrer la MV pour qu'elle soit effacée vite et bien ? (qqchose comme un drop et un create)

    Si T se remplit via SQL Loader (donc avec des commits réguliers), comment paramétrer la MV correctement ?

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Peut-être que vous pouvez commencer par expliquer ce que vous voulez accomplir. Vous est confus dans vos propos et vous ne maitrisez pas bien les concepts que vous essayez d’utiliser : table temporaire, vue matérialisée, niveau d’isolation des transactions, etc.

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 34
    Par défaut
    D'accord. C'est vrai que je n'ai pas fait beaucoup de MV.

    Actuellement, je bâtis une table T de 10 M de lignes via SQL Loader.
    Puis je bâtis une table T2 elle aussi de 10 M de lignes en se basant dur T.
    Le tout prend 4 heures, soit 1 heure pour T et 3 heures pour T2. L'opération se passe toutes les semaines.

    J'ai envie de faire la même chose en remplaçant T2 par une MV, car j'espère que cette MV se remplira en même temps que T, et ainsi gagner du temps.

    Donc chaque semaine, il faudra que la MV s'efface au début du transfert fait par SQL Loader, puis se charge en même temps que T se remplit.

    J'aimerais savoir comment paramétrer correctement cette MV ou au moins l'utiliser convenablement.

    Merci de votre attention.

  6. #6
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Non, ce n'est pas la bonne solution. Une MV ne sera pas plus rapide.
    Par contre en créant T en table externe, tu peux faire le chargement en même temps que tu l'interroge. Et tu peux aussi faire du parallel query (si enterprise edition)
    Cordialement,
    Franck.

Discussions similaires

  1. [9i] CREATE MATERIALIZED VIEW toutes les heures sauf le WE
    Par Débéa dans le forum Administration
    Réponses: 3
    Dernier message: 20/03/2007, 15h42
  2. Materialized view + Indexs + Contraintes
    Par hair_peace dans le forum Oracle
    Réponses: 4
    Dernier message: 05/09/2006, 17h57
  3. snapshot or materialized view
    Par sygale dans le forum Administration
    Réponses: 11
    Dernier message: 12/10/2004, 17h07
  4. MATERIALIZED VIEW <> SNAPSHOT
    Par sygale dans le forum Administration
    Réponses: 3
    Dernier message: 18/06/2004, 11h14
  5. SQL Dynamique - Materialized view
    Par Simeans2004 dans le forum SQL
    Réponses: 15
    Dernier message: 10/06/2004, 17h56

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