Recommandé, 2024

Choix De L'Éditeur

Différence entre la vue et la vue matérialisée

Jusqu'à présent, nous avons parlé de tables originales stockées sous forme physique dans des bases de données. Dans lequel nous avons accès à tous les attributs des tables. Et si nous devions empêcher un utilisateur d'accéder à certains attributs de la table et laisser accéder aux autres attributs. Comme dans le cas d’un employé d’un service administratif, le nom, l’adresse, la désignation, l’âge et autres facteurs d’une table d’employés peuvent être recherchés. Mais il ne doit pas être autorisé à voir ou à accéder au salaire d'un employé.

Dans ce cas, nous devons pouvoir créer une table virtuelle ne pouvant afficher que les attributs requis à partir d'une table. Ceci est possible via les vues et les vues matérialisées dont nous discuterons dans cet article. Nous discuterons également des différences entre la vue et la vue matérialisée à l'aide du tableau de comparaison ci-dessous:

Tableau de comparaison

Base de comparaisonVueVue matérialisée
De baseUne vue n'est jamais stockée, elle est seulement affichée.Une vue matérialisée est stockée sur le disque.
DéfinirLa vue est la table virtuelle formée d'une ou de plusieurs tables ou vues de base.La vue matérialisée est une copie physique de la table de base.
Mettre à jourLa vue est mise à jour chaque fois que la table virtuelle (vue) est utilisée.La vue matérialisée doit être mise à jour manuellement ou à l'aide de déclencheurs.
La vitesseTraitement lent.Traitement rapide.
Utilisation de la mémoireLes vues ne nécessitent pas d’espace mémoire.La vue matérialisée utilise l'espace mémoire.
SyntaxeCréer View V AsCréer une vue matérialisée V Construire [clause] Actualiser [clause] sur [Déclencheur] en tant que

Définition de vue

View est une table virtuelle, créée à l'aide de la commande Create View . Cette table virtuelle contient les données extraites d'une expression de requête, dans la commande Créer une vue. La vue peut être créée à partir d'une ou de plusieurs tables ou vues de base. Une vue peut être interrogée comme vous interrogez les tables de base d'origine.

Ce n’est pas que la vue soit pré - calculée et stockée sur le disque, une vue est calculée chaque fois qu’elle est utilisée ou consultée. Chaque fois qu'une vue est utilisée, l'expression de requête dans la commande Créer une vue est exécutée à ce moment particulier. Par conséquent, vous obtenez toujours les données mises à jour dans une vue.

Si vous mettez à jour un contenu dans View, celui-ci est reflété dans la table d'origine et, si des modifications ont été apportées à la table de base d'origine, elles seront reflétées dans sa vue. Mais cela ralentit les performances d'une vue. Par exemple, une vue est créée à partir de la jointure de deux ou plusieurs tables. Dans ce cas, vous devez payer du temps pour résoudre les jointures chaque fois qu'une vue est utilisée.

Mais il présente certains avantages, car il ne nécessite pas d' espace de stockage . Vous pouvez créer une vue personnalisée d'une base de données complexe. Vous pouvez empêcher l'utilisateur d'accéder à des informations sensibles dans une base de données. Réduit la complexité des requêtes en rassemblant les données de plusieurs tables dans une seule vue personnalisée.

Voyons maintenant la syntaxe de View

Créer View V As

N'oubliez pas que toutes les vues ne peuvent pas être mises à jour. Comme une vue créée à l'aide de la clause DISTINCT, de la clause Group By, de la contrainte CHECK (si les contraintes de vérification sont violées), l'option de lecture seule ne peut pas être mise à jour.

Définition de la vue matérialisée

La vue matérialisée est la copie physique des tables de base d'origine. La vue matérialisée est comme un instantané ou une image des tables de base d'origine. Comme View, il contient également les données extraites de l' expression de requête de la commande Create Materialized View .

Mais contrairement à View, les vues matérialisées sont précalculées et stockées sur un disque comme un objet, et elles ne sont pas mises à jour à chaque utilisation. Au lieu de cela, la vue matérialisée doit être mise à jour manuellement ou à l'aide de déclencheurs . Le processus de mise à jour de la vue matérialisée s'appelle Maintenance de la vue matérialisée .

La vue matérialisée répond plus rapidement que la vue. C'est parce que la vue matérialisée est précalculée et que, par conséquent, elle ne perd pas de temps à résoudre la requête ou à se joindre à la requête qui crée la vue matérialisée. Ce qui à son tour répond plus rapidement à la requête sur la vue matérialisée.

Laissez-nous vérifier la syntaxe de la vue matérialisée:

Créer une vue matérialisée V
Construire [clause] Rafraîchir [type]
ON [trigger]
Comme

Où la clause de construction décide-t-elle à quel moment renseigner la vue matérialisée? Le type d'actualisation détermine le mode de mise à jour de la vue matérialisée et le déclencheur, le moment de la mise à jour de la vue matérialisée.

Les vues matérialisées sont généralement utilisées dans l' entrepôt de données .

Principales différences entre la vue et la vue matérialisée

  1. La différence fondamentale entre la vue et la vue matérialisée est que les vues ne sont pas stockées physiquement sur le disque. D'autre part, les vues matérialisées sont stockées sur le disque.
  2. La vue peut être définie comme une table virtuelle créée à la suite de l'expression de requête. Cependant, la vue matérialisée est une copie physique, une image ou un instantané de la table de base.
  3. Une vue est toujours mise à jour au fur et à mesure que la requête créant la vue s'exécute à chaque utilisation de la vue. D'autre part, la vue matérialisée est mise à jour manuellement ou en lui appliquant des déclencheurs .
  4. La vue matérialisée répond plus rapidement que la vue, car la vue matérialisée est précalculée.
  5. La vue matérialisée utilise l' espace mémoire stocké sur le disque, alors que la vue n'est qu'un affichage et ne nécessite donc pas d'espace mémoire.

Conclusion:

La vue matérialisée répond plus rapidement que la vue. Mais View fournit toujours des informations à jour à l'utilisateur.

Top