Indice sur la vue (Oracle)
Permet de dire que j'ai deux tables, tab_a
et tab_b
.
Et je créer un affichage comme suit:
create view join_tabs as
(
select col_x as col_z from tab_a
union
select col_y as col_z from tab_b
);
Et si je ne les suivants:
select * from join_tabs where col_z = 'BLAH';
Si tab_a
index col_x
et tab_b
index col_y
, nous devrions être en mesure de le faire avec les deux index de recherche.
Cependant, il serait bien si je pouvais faire un index sur les deux tableaux à un indice, ou même de l'indice de la vue, d'une manière qui met automatiquement à jour immédiatement si la source de tables (tab_a
ou tab_b
) changement.
Est-il un moyen de le faire dans Oracle?
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas à pied d'égalité avec Oracle, mais je crois Les Vues Matérialisées faire exactement cela.
Le choix des Index pour les Vues Matérialisées
Vous ne pouvez pas créer un index sur une vue, depuis un point de vue est simplement un masque sur certaines tables(s). Pour ce faire, créer une vue matérialisée comme indiqué par @Lieven et de créer un index sur elle.