bonjour tout le monde,
j'ai utilisé la fonction with dans mon script oracle dans le but de l'optimiser, mais
surprise, la requête a pris plus de temps que sans le with.
ma question est : est ce que le with aide à optimiser ou pas??????
bonjour tout le monde,
j'ai utilisé la fonction with dans mon script oracle dans le but de l'optimiser, mais
surprise, la requête a pris plus de temps que sans le with.
ma question est : est ce que le with aide à optimiser ou pas??????
Parfois oui, parfois non; sinon on utiliserait que le WITH.
Donc, quelle est votre requête est comment est-vous arrivé à la conclusion qu'avec le with «*ça prends plus de temps*» ?
merci pour ta réponse,
En fait dans ma requête, j'utilise le WITH pour construire ma table sur laquelle j'opère un select, en d'autres termes:et je répète cette procédure plusieurs fois dans mon script sql, et je ne sais pas si c'est bon ou pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select a,b, C.Table_with from table 1, (WITH t as ( .....)) Table_with;
merci pour votre aide. ( la requête contient 1000 lignes)
Je ne pense pas que la syntaxe que vous fournissez fonctionne.
Ce qui fonctionne est plutôt comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 With Data As ( Select * From emp ) Select * From dept Join Data On (dept.deptno = data.deptno)
A priori la syntaxe fonctionne, mais je suis bien d'accord avec vous mnitu, ce n'est pas très élégant, un des avantages de WITH est justement de simplifier la lecture :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 select dummy as x, y from dual, (with toto as (select 'Y' as y from dual) select y from toto); X Y
Merci de votre réponses,
Je suis tout à fait d'accord avec vous (la syntaxe), par contre la question que
je me pose actuellement est que je n'arrive pas à obtenir plus de performances (même je suis au pire du temps d'exécution de ma requête : 800 lignes), est c'est normal ???
pour information: j'utilise le WITH pour construire des tables que je n'ai pas physiquement, après j'opère un select.
merci de me proposer une solution.
Il n'y a pas 36 solutions, il faudrait votre requête, le plan d'exécution, les volumétries en jeu et les temps que vous obtenez avec vos diverses requêtes.
Partager