OVH Cloud OVH Cloud

optimiser une requete qui doit de toute façon lire toute la base

48 réponses
Avatar
WebShaker
salut.

on me demande de réaliser une requête qui consiste a compter le nombre
de produit vendu par référence.

il s'agit donc de
SELECT ref, count(*) FROM commandline GROUP BY ref;

mais j'ai 17.000.000 de lignes de de commandes dans ma base...
Alors la question est simple.
que peut on faire pour optimiser ce genre de requête...

surtout que le requête suivante est de compter le quantité par catégorie
de produit.
la ca donne

SELECT cat, count(*) FROM commandline INNER JOIN produit ON
commandline.idproduit = produit.idproduit GROUP BY cat;

Les suivantes sont encore pire...
Dans touts les cas, il me faut parcourir la table commandline.
ou alors il faut que je fasse un mécanisme de cache, mais la je ne
connais pas trop les techniques (table temporaire peut être, je ne sais
pas).

Etienne

8 réponses

1 2 3 4 5
Avatar
Alain Montfranc
Dans son message précédent, JKB a écrit :
Le 06-06-2010, ? propos de
Re: optimiser une requete qui doit de toute façon lire toute la base,
Alain Montfranc ?crivait dans fr.comp.applications.sgbd :
(supersedes <4c0b6fb9$0$27586$)

helios avait soumis l'idée :
Alain Montfranc a écrit :
helios a exposé le 05/06/2010 :
SQLpro a écrit :
Mickaël Wolff a écrit :
Le 29/05/2010 10:14, SQLpro a écrit :
SELECT ref, count(*) FROM commandline GROUP BY ref
Mettra 0 secondes et consommera environ 2 pages !



Tu as un lien qui explique ce qu'est une page ans ce contexte ?




1) un SGBDR lit les données sous forme de pages, une page peut faire de
2 à 64 Ko selon le SGBDR et l'OS sur lequel il est installé.




ou meme 2Go pour un SGBDR MV



Ah c'est limité ces trucs ?




tout a une limite seul les sots pensent le contraire



Donc "hélios est limité" :-D CQFD (au passage vous ne connaissez pas
vos classiques, "deux choses sont infinies...", ou alors vous
considérez qu'Albert E. est un sot)

Au passage aussi, des pages trop grandes, c'est une clownerie :-D



N'essayez pas de lui expliquer pourquoi, on va encore avoir ici un
fil dont rien ne sortira.



Pas faux :-D (mais c'est normal, il est limité :-D)
Avatar
JKB
Le 06-06-2010, ? propos de
Re: optimiser une requete qui doit de toute façon lire toute la base,
Alain Montfranc ?crivait dans fr.comp.applications.sgbd :
Dans son message précédent, JKB a écrit :
Le 06-06-2010, ? propos de
Re: optimiser une requete qui doit de toute façon lire toute la base,
Alain Montfranc ?crivait dans fr.comp.applications.sgbd :
(supersedes <4c0b6fb9$0$27586$)

helios avait soumis l'idée :
Alain Montfranc a écrit :
helios a exposé le 05/06/2010 :
SQLpro a écrit :
Mickaël Wolff a écrit :
Le 29/05/2010 10:14, SQLpro a écrit :
SELECT ref, count(*) FROM commandline GROUP BY ref
Mettra 0 secondes et consommera environ 2 pages !



Tu as un lien qui explique ce qu'est une page ans ce contexte ?




1) un SGBDR lit les données sous forme de pages, une page peut faire de
2 à 64 Ko selon le SGBDR et l'OS sur lequel il est installé.




ou meme 2Go pour un SGBDR MV



Ah c'est limité ces trucs ?




tout a une limite seul les sots pensent le contraire



Donc "hélios est limité" :-D CQFD (au passage vous ne connaissez pas
vos classiques, "deux choses sont infinies...", ou alors vous
considérez qu'Albert E. est un sot)

Au passage aussi, des pages trop grandes, c'est une clownerie :-D



N'essayez pas de lui expliquer pourquoi, on va encore avoir ici un
fil dont rien ne sortira.



Pas faux :-D (mais c'est normal, il est limité :-D)



Qui donc, le fil ou Hélios ? Remarquez, pour le fil, j'ai un certain
doute, voire un doute certain ;-)

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
Alain Montfranc
Dans son message précédent, JKB a écrit :

N'essayez pas de lui expliquer pourquoi, on va encore avoir ici un
fil dont rien ne sortira.



Pas faux :-D (mais c'est normal, il est limité :-D)



Qui donc, le fil ou Hélios ? Remarquez, pour le fil, j'ai un certain
doute, voire un doute certain ;-)



"Il y a deux choses qui sont limitées : Hélios et ce fil. Mais pour ce
qui concerne ce fil, je n’en ai pas encore acquis la certitude
absolue."

Librement inspiré de
http://www.linternaute.com/citation/4488/deux-choses-sont-infinies-l-univers-et-la-betise-humaine-albert-einstein/
Avatar
helios
Alain Montfranc a écrit :
(supersedes <4c0b6fb9$0$27586$)

helios avait soumis l'idée :
Alain Montfranc a écrit :
helios a exposé le 05/06/2010 :
SQLpro a écrit :
Mickaël Wolff a écrit :
Le 29/05/2010 10:14, SQLpro a écrit :
SELECT ref, count(*) FROM commandline GROUP BY ref
Mettra 0 secondes et consommera environ 2 pages !



Tu as un lien qui explique ce qu'est une page ans ce contexte ?




1) un SGBDR lit les données sous forme de pages, une page peut
faire de 2 à 64 Ko selon le SGBDR et l'OS sur lequel il est installé.




ou meme 2Go pour un SGBDR MV



Ah c'est limité ces trucs ?




tout a une limite seul les sots pensent le contraire



Donc "hélios est limité" :-D CQFD (au passage vous ne connaissez pas
vos classiques, "deux choses sont infinies...", ou alors vous
considérez qu'Albert E. est un sot)



AE c'etait au siecle dernier la physik a beaucoup évolué depuis AE mais
quand on discutes avec les "supporters" d'un mec qui est encore au 18eme
siecle (entre Jacquart et Ada d'apres son calendrier)
on peut comprendre que les évolutions de la physik soit ignoré

Au passage aussi, des pages trop grandes, c'est une clownerie :-D



voir le look de AE pour le clown ???? :-) (j'adores AE )

c'est une clownerie sous SQL effectivement mais SQL lui mme est une
clownerie
Avatar
helios
Alain Montfranc a écrit :
Dans son message précédent, JKB a écrit :

N'essayez pas de lui expliquer pourquoi, on va encore avoir ici un
fil dont rien ne sortira.



Pas faux :-D (mais c'est normal, il est limité :-D)



Qui donc, le fil ou Hélios ? Remarquez, pour le fil, j'ai un certain
doute, voire un doute certain ;-)



"Il y a deux choses qui sont limitées : Hélios et ce fil. Mais pour ce
qui concerne ce fil, je n’en ai pas encore acquis la certitude absolue."

Librement inspiré de
http://www.linternaute.com/citation/4488/deux-choses-sont-infinies-l-univers-et-la-betise-humaine-albert-einstein/





le fils est limité puique je peut sans mal donné un nombre
d'interventions qui sera superieur a celui qu'il atteindra
pour la betise humaine certain specimens ici le prouve
pour Helios desoler mais je n'ai pas la betise de certain de me croire
illimité
pour l'univers il existe un courrant scientifique qui le dit limité

et un autre classique de SF lui porete comme titre "la fin de
l'eternité" je l'ai lu à 14ans
Avatar
Alain Montfranc
helios a utilisé son clavier pour écrire :

et un autre classique de SF lui porete comme titre "la fin de l'eternité" je
l'ai lu à 14ans



Helios sabvait lire à 14 ans, c'est balèze et on est content pour lui
:-D
Avatar
tophe
Le 07/06/2010 07:25, Alain Montfranc a écrit :
helios a utilisé son clavier pour écrire :

et un autre classique de SF lui porete comme titre "la fin de
l'eternité" je l'ai lu à 14ans



Helios sabvait lire à 14 ans, c'est balèze et on est content pour lui :-D




par contre, pour l'écriture, toujours pas
Avatar
Yliur
> tout a une limite seul les sots pensent le contraire

Donc "hélios est limité" :-D CQFD (au passage vous ne connaissez pas
vos classiques, "deux choses sont infinies...", ou alors vous
considérez qu'Albert E. est un sot)

Au passage aussi, des pages trop grandes, c'est une clownerie :-D



L'univers peut être fini mais sans limite. Comme l'espace en deux
dimension que représente la surface de le Terre est fini (on peut
mesurer la surface) mais sans limite (il n'y a pas de bord) :) .
1 2 3 4 5