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

Administration Oracle Discussion :

questions sur materialized view


Sujet :

Administration Oracle

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Points : 48
    Points
    48
    Par défaut questions sur materialized view
    Bonjour,

    Je pense utilisé les materialized view pour un de mes traitement mais comme je ne les ai jamais utilisé, je voulais avoir votre avis.

    Je dois faire une extraction (flat file) à toute les semaines de 3 select qui ont un lien entre eux. je sais qu'on peut individuellement dire à quelle heure on veut le rafraichissement des données mais dans mon cas, il est tres important que les 3 tables soit rafraichis en meme temps pour garder la consistance des données. Est-ce qu'il y a un moyen de dire que le rafraichissement doit etre fait en meme temps pour les 3 tables?

    Je sais aussi qu'il y a un option pour allez chercher le delta depuis la derniere fois... c'est solide ca? est-ce qu'il y a un moyen de lui donner depuis quand (quel jour ou heure ) on veut le delta advenant un problème en changeant un parametre par exemple.

    merci

  2. #2
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    bonjour
    les vues materialisées ne sont pas utiles pour une base de données transactionnelles(c-à-d:pleinne de insert into et update).
    on ne peut pas reffaichir une tables, on raffraichit la vue materialisée qui utilise les trois tables.
    les vue materialisées sont utilisées surtout pour les rapports pour accelerer l'affichage; ou bien par exemple; lancement d'un procedure qui utile une vue complexe et lourde sinon elle sera inutile.
    Bon courage

  3. #3
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Points : 48
    Points
    48
    Par défaut
    Ok je vais préciser mon besoin. Les flat file que je dois extraire sont en fait un delta des tables du schéma mais dénormalisé. Alors je me disais qu'en utilisant une vue matérialisé, ca m'éviterait d'avoir à scripter la création de table temporaire pour les extraires par la suite. Je ne veux pas utilisé directement des vues et les extraire ensuite... j'ai déjà eu de gros problème de performance à ce niveau... Alors je me disais que c'était le meilleur des 2 monde?

    ce n'est donc vraiment pas fait pour ca?

  4. #4
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Points : 48
    Points
    48
    Par défaut
    une petite précision sur ma question initiale. Je ne veux pas rafraichir les table de mon schéma... je voudrais rafraichir plusieurs vue matérialiser en meme temps pour ne perdre aucune donnée car elles ont un lien entre elles...

    est-ce qu'on peut faire ca... et etre sur que le rafraichissement est fait dans la meme seconde?

  5. #5
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Points : 48
    Points
    48
    Par défaut
    Rebonjour,
    Je lis pas mal là dessus depuis 2 jours et ce que j'en comprends c'est que c'est surtout pour du reporting et non pour faire du traitement... mais si le traitement que j'ai à faire c'est une extraction de cette vue matérialiser... croyez-vous que c'est viable... conceptuellement, les vues matérialisé peuvent-elle supporté un traitement d'extraction (j'ose croire que oui) ...

    J'ai aussi lu un peu sur les log des materialized view... j'ai lu que c'était des objet de la bd... ce que j'en comprend c'est que ce serait logger dans une table spécifiquement créé pour cette vue matérialisé? Ca voudrait dire que si j'ai 10 tables matérialisés à créer, ca créera aussi 10 table de log?? si c'est le cas... ca me prouverait que ce n'est pas fait pour ce que je veux faire je crois...

    merci

  6. #6
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    En 10g, essayez d'utiliser DBMS_MVIEW.REFRESH avec le paramètre atomic_refresh à TRUE:

    atomic_refresh
    If this parameter is set to true, then the list of materialized views is refreshed in a single transaction. All of the refreshed materialized views are updated to a single point in time. If the refresh fails for any of the materialized views, none of the materialized views are updated.

    If this parameter is set to false, then each of the materialized views is refreshed in a separate transaction.
    En 8i ou 9i, essayez le snapshot group.

    PS: non testé.

  7. #7
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Points : 48
    Points
    48
    Par défaut
    Ha merci je ne trouvais cet info null part... je suis en 9i en passant.

    Avez-vous une idée pour ce que j'expliquais un peu plus haut pour les logs... est-ce une table de log par vue matérialisé ou une table de log pour toute les tables du schéma...

    et est-ce que vous croyez que c'est une bonne idée de faire du traitement sur des materialized view?

    merci

  8. #8
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    En général, il y un a materialized view log par table mais le materialized view log n'est pas indispensable: il est nécessaire si on veut faire un refresh fast.

    L'utilisation de vues matérialisées (MV) est une bonne idée .. si elle correspond à vos besoins et que l'on prend en compte les avantages et les inconvénients de l'approche: les requêtes peuvent être nettement plus rapides sur les MV à condition d'accepter les coûts nécessaires de création et de rafraîchissement (espace disque, temps machine).

  9. #9
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Points : 48
    Points
    48
    Par défaut
    les requêtes peuvent être nettement plus rapides sur les MV à condition d'accepter les coûts nécessaires de création et de rafraîchissement
    Juste pour être certain, quand tu dis que ca peut etre nettement plus rapide, c'est en comparaison avec quoi? des vues normale, des tables ...? Est-ce que tu dis ca car les MV sont plus performante en général que des vue ou des tables normal ou si tu as dis ca dans un contexte particulier...

    merci

  10. #10
    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
    un MV stocke le résultat de la vue quand la vue exécute la requête à chaque interrogation, en ce sens la MV est plus performante qu'une vue si tant est que la requête soit un minimum complexe (sur SELECT * FROM TABLE par exemple, ça n'a aucun intérêt). Ceci dit, une MV se rafraichira moins vite que l'exécution de la vue.

    Donc la MV est plus rapide à l'interrogation mais pour optimiser le refresh là faudra d'orienter peut-être vers les MV logs pour faire un FAST REFRESH.

  11. #11
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 137
    Points : 48
    Points
    48
    Par défaut
    ok je comprend le point, c'est ce que je pensais d'ailleurs...

    J'aimerais ca avoir votre avis maintenant sur ce que j'ai à faire. Je dois convertir une application qui extrait des tables en flat_file. Actuellement, je fais un create table as select .... une fois créé cette table est extraite. Le problème c'est qu'à chaque semaine, je drop les table, je fais un create table as select... (parfois assez complexe) et je l'extrais. Maintenant, avec les Materialized view, je voyais l'opportunité d'utilisé les nouvelles fonctionnalité d'oracle. Avec les MV, j'éviterais toute la partie script de creation de table et je cédulerais un refresh à la place. Ca serait sans doute moins couteux non? À moins qu'il y ait une subtilité que je ne vois pas...

    En cas de problème lors du rafraichissement des vue... est-ce que c'est facilement identifiable qu'il y a eu une erreur... il faut que je puisse évidemment le trapper... J'imagine qu'avec les tables log je pourrais voir ca... mais je me demandais si c'était facile et surtout si ca trappe tout les genre d'erreur autant data que physique.

    merci encore

Discussions similaires

  1. Question sur listbox/view
    Par akapsy dans le forum VB.NET
    Réponses: 3
    Dernier message: 17/04/2012, 11h41
  2. Conseil sur materialized view
    Par lidybekham07 dans le forum SQL
    Réponses: 0
    Dernier message: 07/07/2011, 12h19
  3. [MVVM]Questions d'un débutant sur les views et view-models
    Par Takumi dans le forum Windows Presentation Foundation
    Réponses: 45
    Dernier message: 26/08/2010, 10h30
  4. [MVVM WPF.net3.5] Questions sur les views et les viewsModel
    Par war120 dans le forum Windows Presentation Foundation
    Réponses: 17
    Dernier message: 13/05/2010, 00h26
  5. MultiView & View, question sur leur activation
    Par Danny Blue dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/04/2007, 11h42

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