@ orafrance Apparemment, tu ne fais pas la différence entre un clause de jointure et une clause de filtre de données
Ta clause de jointure t'empêche seulement d'avoir un produit cartésien entre les deux tables, cependant elle ne filtre pas les données.
C'est à dire qu'au lieu de d'avoir une cardinalité exponenetielle, elle sera seulement géométrique : youpi !
Et comme dans ce cas, on a des cardinalités en base qui ce comptent en million, passer par les index voudrait dire faire n millions d'accès aux index, plus n millions d'accès mono bloc aux tables, ceci comparé à deux full scan, soit pour deux tables de 10 000 blocs avec un DBMRC de 16 environ 2000 I/O disques, certes plus longues, mais à comparer avec les millions générées par le plan avec index.
Et vu la quantité de données maniées dans la requête, elle devrait durer quelques minutes au plus en FTS, on est sur des dizaines de Mo, pas sur des Gigas.
Partager