Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/06/2006, 12h03   #1
Futur Membre du Club
 
Webmaster
Inscription : mars 2006
Messages : 88
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : mars 2006
Messages : 88
Points : 17
Points : 17
Par défaut [Performance] COUNT ou redondance calculée ?

Bonjour,

J'aimerai connaitre votre avis sur la rapidité de ces deux cas de figures. DOnc pour débuter : j'ai deux tables. Une table membres et une table depots avec l'id du membre qui a déposé. Mon but est de compter rapidement le nombre de depots effectués par ce membre.

Mes deux solutions :
- Je rajoute une colonne "nbtransaction" dans la table membres et à chaque dépoit j'incrémente à +1 et quand je veux connaitre le nomrbe de depots je récupère la valeur du champs.
- Je compte simplement le nombre de depots avec l'id du membre.

J'ai schématisé pour que ce soit compréhensible mais imaginez le même schéma avec des millions d'enregistrement avec des centaines de dépots pour chaque membre.

Merci à vous.
Danny Blue est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 14h25   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Citation:
table depots avec l'id du membre
L'id est en Foreign Key ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 14h25   #3
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Salut,

C'est tout le problème de la redondance calculée.

Etant donné que le COUNT n'implique a priori pas de calculs trop complexes je privilégierais quand même cette méthode.
D'autant que la deuxième solution peut engendrer des inexactitudes (si l'incrémentation du nombre de transactions échoue par exemple).
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2006, 00h53   #4
Futur Membre du Club
 
Webmaster
Inscription : mars 2006
Messages : 88
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : mars 2006
Messages : 88
Points : 17
Points : 17
Citation:
Envoyé par qi130
L'id est en Foreign Key ?
Oui elle est en Foreign key sur la table des dépots. Il y a donc un lien, ca modifie la vitesse de traitement?
Danny Blue est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2006, 09h57   #5
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Ca peut !

Je pense (sauf si des spécialistes affirment le contraire) que l'index sur id_membre pourrait être utilisé, ce qui me ferait privilégier le count.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h57.


 
 
 
 
Partenaires

Hébergement Web