Comment les index fonctionnent-ils sur les vues?
Quelqu'un peut-il m'expliquer dans un anglais simple, comment un index sur une vue œuvres? J'ai un assez simple de compréhension de l'index sur les tables; comment l'indexation d'une vue à travailler différemment, à partir de seulement laisser l'index sur les tables sous-jacentes faire leur chose naturellement?
source d'informationauteur Shaul Behr
Vous devez vous connecter pour publier un commentaire.
Dire que vous avez un point de vue que les limites de la table pour certaines lignes:
Maintenant, si vous créez un index sur ce point de vue, l'index ne contient que les produits chauds. Vous pouvez le comparer à stocker le résultat de la vue dans une table temporaire. Cela peut être très utile pour les requêtes compliquées avec plusieurs jointures; fondamentalement, leur sortie est mis en cache.
Le gros désavantage de vues indexées, c'est qu'ils sont recréés à chaque fois la table sous-jacente des modifications de données. Qui limite l'utilisation des vues indexées à des données qui ne changent pas souvent, en général dans un entrepôt de données ou de business intelligence de l'environnement.
Une vue en elle-même n'est pas réel ou "persistantes", et n'a pas d'avantage de performance. C'est tout simplement une macro c'est élargi.
Ajouter un index et il existe physiquement (persiste), de sorte que l'optimiseur va envisager de l'utiliser. Ce n'est pas une macro.
Je suis sûr que Oracle appelle "matérialisées points de vue", qui est un meilleur nom.
Connexes pour info: une colonne calculée a PERSISTÉ option qui fait la même chose...
Voir http://msdn.microsoft.com/en-us/library/aa258260(SQL.80).aspx
La vue est transformé à partir d'une bonne vue dans une table. La définition de la vue est utilisé pour mettre à jour ce tableau.
Oracle appelle ces "vues matérialisées".