OVH Cloud OVH Cloud

Sous-requête

4 réponses
Avatar
Richard Martin
Bonjour à tous et toutes.

J'ai une requête basée sur une table qui contient près de 500 000
enregistrements. Je fais un regroupement. Ensuite cette requête devient la
source d'une autre requête avec d'autres tables ou je fais un autre
regroupement. Et là ça prend des heures avant de s'exécuter. J'avais 512
Meg de RAM, je vais en ajouter encore 512. Mais y a-t-il une autre façon
d'accélérer le processus ?

Merci d'avance !

Richard.

4 réponses

Avatar
Rv
Salut,


Les regroupements servent-ils à faire des calculs ou sont il là pour
obtenir une unicité de chaque enregistrement. Si c'est le cas on peut
remplacer le regroupement par un select distinct. Mais bon c'est un cas
trés particulier. Je dis cela car j'avais la mauvaise habitude d'utiliser
les regroupements à cet effet et le SELECT DISTINCT est bien plus rapide
dans ce cas!

A+

Rv

"Richard Martin" a écrit dans le message de
news:
Bonjour à tous et toutes.

J'ai une requête basée sur une table qui contient près de 500 000
enregistrements. Je fais un regroupement. Ensuite cette requête devient
la

source d'une autre requête avec d'autres tables ou je fais un autre
regroupement. Et là ça prend des heures avant de s'exécuter. J'avais 512
Meg de RAM, je vais en ajouter encore 512. Mais y a-t-il une autre façon
d'accélérer le processus ?

Merci d'avance !

Richard.




Avatar
Richard Martin
Bonjour

J'utilise des fonctions MIN, MAX et SOMME

donc ???

Richard


"Rv" a écrit dans le message de news:
%
Salut,


Les regroupements servent-ils à faire des calculs ou sont il là pour
obtenir une unicité de chaque enregistrement. Si c'est le cas on peut
remplacer le regroupement par un select distinct. Mais bon c'est un cas
trés particulier. Je dis cela car j'avais la mauvaise habitude d'utiliser
les regroupements à cet effet et le SELECT DISTINCT est bien plus rapide
dans ce cas!

A+

Rv

"Richard Martin" a écrit dans le message de
news:
Bonjour à tous et toutes.

J'ai une requête basée sur une table qui contient près de 500 000
enregistrements. Je fais un regroupement. Ensuite cette requête devient
la

source d'une autre requête avec d'autres tables ou je fais un autre
regroupement. Et là ça prend des heures avant de s'exécuter. J'avais
512
Meg de RAM, je vais en ajouter encore 512. Mais y a-t-il une autre façon
d'accélérer le processus ?

Merci d'avance !

Richard.








Avatar
Charles ERNST
la table est-elle convenablement indexée ?


"Richard Martin" a écrit dans le message de news:

Bonjour à tous et toutes.

J'ai une requête basée sur une table qui contient près de 500 000
enregistrements. Je fais un regroupement. Ensuite cette requête devient
la source d'une autre requête avec d'autres tables ou je fais un autre
regroupement. Et là ça prend des heures avant de s'exécuter. J'avais 512
Meg de RAM, je vais en ajouter encore 512. Mais y a-t-il une autre façon
d'accélérer le processus ?

Merci d'avance !

Richard.



Avatar
Rv
Donc comme ça je ne sais pas! Désolé.
L'idée des index semble bonne. A poser sur les champs servant comme critère
de la clause Where ou servant au jointure. Mais attention les opérations de
mises à jour (Ajout, modif, suppr.) seront pénalisées.

A+

Rv

"Richard Martin" a écrit dans le message de
news:%
Bonjour

J'utilise des fonctions MIN, MAX et SOMME

donc ???

Richard


"Rv" a écrit dans le message de news:
%
Salut,


Les regroupements servent-ils à faire des calculs ou sont il là pour
obtenir une unicité de chaque enregistrement. Si c'est le cas on peut
remplacer le regroupement par un select distinct. Mais bon c'est un cas
trés particulier. Je dis cela car j'avais la mauvaise habitude
d'utiliser


les regroupements à cet effet et le SELECT DISTINCT est bien plus rapide
dans ce cas!

A+

Rv

"Richard Martin" a écrit dans le message de
news:
Bonjour à tous et toutes.

J'ai une requête basée sur une table qui contient près de 500 000
enregistrements. Je fais un regroupement. Ensuite cette requête
devient



la
source d'une autre requête avec d'autres tables ou je fais un autre
regroupement. Et là ça prend des heures avant de s'exécuter. J'avais
512
Meg de RAM, je vais en ajouter encore 512. Mais y a-t-il une autre
façon



d'accélérer le processus ?

Merci d'avance !

Richard.