Je cherche =E0 comprendre comment marche une requ=E8te - que nous
nommerons A-
qui appelle disons deux autres requetes - appelons les B et C.
A t'on lors de la lecture de l'enregistrement A1 de la requ=E8te A
l'appel de la requ=E8te B puis C dans leurs int=E9gralit=E9s pour obtenir
LES seuls enregistrements convenables poure l'enreg A1 et on
recommence pour l'enreg A2 a TOUT recalculer.
Ou a t'on le calcul de B et de C lors du premier besopin et ensuite
pour chaque enregistrement de A on va lire sans recalculer B et C.
En fait je cherche a comprendre pourquoi mes requ=E8tes en cascades sont
si longues.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Salut,
"Le Nordiste" Je cherche à comprendre comment marche une requète - que nous nommerons A- qui appelle disons deux autres requetes - appelons les B et C.
Des requêtes imbriquées ou avec jonctions...
A t'on lors de la lecture de l'enregistrement A1 de la requète A l'appel de la requète B puis C dans leurs intégralités pour obtenir LES seuls enregistrements convenables poure l'enreg A1 et on recommence pour l'enreg A2 a TOUT recalculer.
Ou a t'on le calcul de B et de C lors du premier besopin et ensuite pour chaque enregistrement de A on va lire sans recalculer B et C.
En fait je cherche a comprendre pourquoi mes requètes en cascades sont si longues.
Si tu as quelque chose comme :
Select champ1 From _ (Select champ1, champ2 From table2 Where champ1 Like 'Toto*') _ Where champ Like 'T*'
La sous requête s'exécute d'abord, puisqu'étant la source le requête principale
Pour la performance, cela dépend fortement de la "construction" et des conditions Un Like 'T*' oblige à scruter toutes les lignes de la table Un where sur un champ non indexé produit le même résultat.
"Le Nordiste"
Je cherche à comprendre comment marche une requète - que nous
nommerons A-
qui appelle disons deux autres requetes - appelons les B et C.
Des requêtes imbriquées ou avec jonctions...
A t'on lors de la lecture de l'enregistrement A1 de la requète A
l'appel de la requète B puis C dans leurs intégralités pour obtenir
LES seuls enregistrements convenables poure l'enreg A1 et on
recommence pour l'enreg A2 a TOUT recalculer.
Ou a t'on le calcul de B et de C lors du premier besopin et ensuite
pour chaque enregistrement de A on va lire sans recalculer B et C.
En fait je cherche a comprendre pourquoi mes requètes en cascades sont
si longues.
Si tu as quelque chose comme :
Select champ1 From _
(Select champ1, champ2 From table2 Where champ1 Like 'Toto*') _
Where champ Like 'T*'
La sous requête s'exécute d'abord, puisqu'étant la source le requête principale
Pour la performance, cela dépend fortement de la "construction" et des conditions
Un Like 'T*' oblige à scruter toutes les lignes de la table
Un where sur un champ non indexé produit le même résultat.
"Le Nordiste" Je cherche à comprendre comment marche une requète - que nous nommerons A- qui appelle disons deux autres requetes - appelons les B et C.
Des requêtes imbriquées ou avec jonctions...
A t'on lors de la lecture de l'enregistrement A1 de la requète A l'appel de la requète B puis C dans leurs intégralités pour obtenir LES seuls enregistrements convenables poure l'enreg A1 et on recommence pour l'enreg A2 a TOUT recalculer.
Ou a t'on le calcul de B et de C lors du premier besopin et ensuite pour chaque enregistrement de A on va lire sans recalculer B et C.
En fait je cherche a comprendre pourquoi mes requètes en cascades sont si longues.
Si tu as quelque chose comme :
Select champ1 From _ (Select champ1, champ2 From table2 Where champ1 Like 'Toto*') _ Where champ Like 'T*'
La sous requête s'exécute d'abord, puisqu'étant la source le requête principale
Pour la performance, cela dépend fortement de la "construction" et des conditions Un Like 'T*' oblige à scruter toutes les lignes de la table Un where sur un champ non indexé produit le même résultat.