Bonjour,
Je suis en train de réécrire un traitement et je me pose des questions auxquelles je ne trouve pas de réponse. La problématique est la suivante :
- J'ai un vieux traitement qui utilise des tables de travail, sous la forme de tables "normales" qu'il drop à chaque début de traitement et recrée à l'aide d'insert..select. Ce traitement ajoute des indexes sur ces tables et calcule des stats à l'aide d'analyze. A la fin il fait un spool d'une requête basée sur ces tables de travail.
- J'ai remarqué qu'en dehors de ce traitement, les tables en question ne sont utilisées nulle part, j'ai décider de remplacer ces tables par des global temporary table. J'ai par contre conservé les indexes.
Mes questions sont les suivantes : Est ce que mes indexes vont être utilisés quand ce sera judicieux? Est ce qu'il faut que je conserve mes calculs de stats dans le traitement, car j'ai cru comprendre que les stats sont calculées automatiquement quand elles sont manquantes. En fait je vois mal comment oracle se débrouille pour les stats sur les tables temporaires, vu que logiquement chaque session voit ses propres données mais pas les autres.
merci de votre aide.
Edit: j'ai oublié de préciser, je suis sur 10g
Partager