Quelle est la différence entre les Vues et les Vues Matérialisées dans Oracle?
Quelle est la différence entre les Vues et les Vues Matérialisées dans Oracle?
Vous devez vous connecter pour publier un commentaire.
Quelle est la différence entre les Vues et les Vues Matérialisées dans Oracle?
Vous devez vous connecter pour publier un commentaire.
Les vues matérialisées sont sur disque et sont mis à jour régulièrement basé sur la définition de la requête.
Vues sont virtuel uniquement et exécuter la définition de la requête à chaque fois qu'ils sont accessibles.
Vues
Ils évaluent les données dans les tables sous-jacentes à la définition de la vue à la fois la vue est interrogée. C'est une vue logique de vos tables, aucune donnée n'est stockée nulle part ailleurs.
La hausse d'un point de vue est qu'il toujours retourner les données les plus récentes pour vous. Le à la baisse d'un point de vue est que ses performances dépend bien d'une instruction select, le point de vue est basé sur. Si l'instruction select est utilisée par la vue se joint à de nombreux tableaux, ou utilise les jointures basée sur la non-colonnes indexées, le point de vue des performances médiocres.
Vues matérialisées
Ils sont semblables à celles vues, en ce qu'ils sont d'une logique de la vue des données (basé sur une instruction select), cependant, la sous-jacente du résultat de la requête a été enregistrée dans une table. L'avantage de cela est que lorsque vous interrogez une vue matérialisée, vous interrogez une table, qui peut aussi être indexés.
En outre, parce que toutes les jointures ont été résolus à la vue matérialisée temps de rafraîchissement, vous payez le prix de la rejoindre en une fois (ou aussi souvent que vous actualisez votre vue matérialisée), plutôt que chaque fois que vous sélectionnez à partir de la vue matérialisée. En outre, avec query rewrite activé, Oracle peut optimiser une requête qui sélectionne à partir de la source de votre vue matérialisée d'une façon telle qu'il la place lit à partir de votre vue matérialisée. Dans les situations où vous créez des vues matérialisées comme des formes de tables agrégées, ou des copies de la souvent les requêtes exécutées, cela peut grandement accélérer le temps de réponse de votre utilisateur final de l'application. Le inconvénient est que les données que vous obtenez de retour de la vue matérialisée n'est plus à jour pour la dernière fois de la vue matérialisée a été actualisé.
Vues matérialisées peut être réglé pour actualiser manuellement, sur un calendrier, ou basé sur la base de données de la détection d'un changement dans les données de l'une des tables sous-jacentes. Les vues matérialisées peut être progressivement mis à jour en les combinant avec des journaux des vues matérialisées, ce qui agir comme la capture de données modifiées sources sur les tables sous-jacentes.
Les vues matérialisées sont le plus souvent utilisés dans un entrepôt de données /business intelligence applications où l'interrogation de grandes tables de faits avec des milliers de millions de lignes entraînerait temps de réponse des requêtes qui a abouti à une application inutilisable.
Vues matérialisées également aider à garantir une cohérence moment dans le temps, semblable à l'isolement d'instantané.
Vue utilise une requête pour extraire des données à partir des tables sous-jacentes.
Une vue matérialisée est une table sur le disque qui contient le résultat d'une requête.
Les vues matérialisées sont principalement utilisés pour augmenter les performances de l'application lorsqu'il n'est pas possible ou souhaitable d'utiliser un affichage standard avec index appliqués. Les vues matérialisées peuvent être mis à jour sur une base régulière, soit par le biais de déclencheurs ou à l'aide de la
ON COMMIT REFRESH
option. Cela ne nécessite que quelques droits supplémentaires, mais il n'a rien de complexe.ON COMMIT REFRESH
est en place depuis au moins Oracle 10.Points de vue sont essentiellement logique de la table-comme des structures peuplée à la volée par une requête donnée. Les résultats d'un point de vue de la requête ne sont pas stockées n'importe où sur le disque, et la vue est recréé à chaque fois que la requête est exécutée. Les vues matérialisées sont de véritables structures stockées dans la base de données écrites sur le disque. Ils sont mis à jour en fonction des paramètres définis lors de leur création.
Matérialisée vue - un tableau sur un disque qui contient le résultat d'une requête
Non-materiased vue - une requête qui extrait des données de la table sous-jacente
Vue: point de Vue est juste une requête nommée. Il n'a pas stocker quoi que ce soit. Quand il y a une requête sur la vue, il exécute la requête de la définition de la vue. Réel des données de la table.
Matérialisée vues: Stocke les données physiquement et mis à jour périodiquement. Alors que l'interrogation de MV, il donne des données à partir de MV.
L'ajout de Mike McAllister est assez complète de réponse...
Vues matérialisées ne peut être réglé que pour actualiser automatiquement par le biais de la base de données de détection de changements lors de l'affichage de la requête est considérée comme simple par le compilateur. Si elle est jugée trop complexe, il ne sera pas en mesure de mettre en place ce sont essentiellement internes des déclencheurs pour le suivi des modifications dans les tables source uniquement mettre à jour les lignes modifiées dans le mview table.
Lorsque vous créez une vue matérialisée, vous trouverez que Oracle crée à la fois la mview et que d'une table avec le même nom, ce qui peut rendre les choses encore plus confuses.