390 votes

Quelle est la différence entre les points de vue et des vues matérialisées dans Oracle ?

Quelle est la différence entre les points de vue et des vues matérialisées dans Oracle ?

402voto

dacracot Points 8567

Vues matérialisées sont disque basé et mise à jour périodiquement base sur la définition de la requête.

Vues ne sont que virtuels et exécutent la définition de la requête chaque fois qu’ils sont accessibles.

364voto

Mike McAllister Points 871

Points de vue d'évaluer les données dans les tables sous-jacentes à la définition de la vue au moment où la vue est interrogée. C'est une vue logique de vos tables, aucune donnée n'est stockée nulle part ailleurs. L'avantage d'un point de vue est qu'il retournera toujours les données les plus récentes pour vous. L'inconvénient d'un point de vue est que sa performance dépend de la qualité 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.

Les vues matérialisées sont semblables à celles vues, en ce qu'ils sont d'une logique de la vue des données (basé sur une instruction select), toutefois, la requête sous-jacente jeu de résultats a été enregistrée dans une table. L'avantage de cela est que lorsque vous interrogez une vue matérialisée, vous êtes l'interrogation d'une table, ce 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. L'inconvénient, c'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é.

Les vues matérialisées peut être réglé pour actualiser manuellement, sur un calendrier, ou sur la base de 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, qui agissent comme de 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.

62voto

Jeremiah Peschka Points 4756

Une vue utilise une requête pour extraire des données depuis les tables sous-jacentes.

Une vue matérialisée est une table sur le disque qui contient le jeu de résultats d’une requête.

Vues matérialisées sont principalement utilisés pour augmenter les performances de l’application lorsqu’il n’est pas possible ni souhaitable d’utiliser un affichage standard avec index appliqués. L’inconvénient est que vous devez utiliser des déclencheurs, ou toute autre méthode automatique, pour garder la vue matérialisée à jour.

23voto

user12786 Points 454

Vues sont essentiellement les structures ressemblant à des tableau logiques peuplées à la volée par une requête donnée. Les résultats d’une requête d’affichage ne sont pas stockées n’importe où sur le disque et la vue est recréée à chaque fois que la requête est exécutée. Vues matérialisées sont des structures réelles stockées dans la base de données et écrit sur le disque. Ils sont mis à jour selon les paramètres définis lors de leur création.

23voto

fn27 Points 303

La valeur vue Materialised - une table sur un disque qui contient le résultat d’une requête

Avis de Non-materiased - une requête qui extrait des données de la table sous-jacente

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X