Données calculées dans une table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Données calculées dans une table

par cf357 » 25 sept. 2008, 14:19

Ah non probleme de raccourci de langage. Par "il n'a jamais dépensé 500 euros", je veux dire "son total de dépense actuellement est inférieur a 500 euros"

;)

par guilt92 » 25 sept. 2008, 14:17

Mais comment sais tu qu'il n a jamais dépensé plus de 500€ ? Tu stockes un maximum dépensé quelque part ? C'est le trigger dont tu parles ? Parce que j'imagine que tu ne calcules pas les différences entre toutes ses transactions plutot que de lancer la recherche entre deux dates...

par cf357 » 25 sept. 2008, 14:12

Non je voulais mettre en evidence le principe que si un element n'est pas dans un ensemble, il n'est pas non plus dans un ensemble inclus.

ICI :
Si il n'a JAMAIS depensé plus de 500 euros, il ne fait pas partie des users qui ont dépensé plus de 500 euros entre 2 dates

par guilt92 » 25 sept. 2008, 14:04

Désolé j'avais oublié des mots :)
Donc par trigger tu veux dire que tu fais l'update d'un champ apres une transaction qui contient les totaux déjà calculés ?

Aussi je comprends pas trop cet exemple quelqu'un qui n'a pas un total de 500 euros dépensés ne peut pas avoir dépensé plus de 500 euros sur une période + courte... Une période plus courte que quoi ? Que la dernière transaction ?

par cf357 » 25 sept. 2008, 14:03

Qu'entends-tu par "un trigger sur 400 000" ?
Le trigger n'est déclenché qu'a chaque nouvelle transaction, avec une bete addition de 2 champs ! (ancien total + nouveau montant = nouveau total)

par guilt92 » 25 sept. 2008, 14:00

Bonjour,

Personnellement (mais peut etre que quelqu'un de plus expert me contredira) je ne pense pas qu'il soit plus optimisé de déclencher un trigger sur 400 000 utilisateurs x le nombre de lignes à intervales régulières plutot que de calculer les soldes uniquement lorsque un utilisateur le demande. D'autant qu'il est possible de faire l'opération en SQL et de ne récupérer que les totaux en une requete...

Données calculées dans une table

par cf357 » 25 sept. 2008, 13:52

Bonjour la communauté !

Voila ma grosse interrogation du moment...

Supposons (supposons hein !) que je veuille gerer des clients, avec leur compte et les mouvements qui vont dessus (des debits, des credits).

Afin de ne pas avoir a effectuer d'operation "inutile" pour afficher le total des debits, des credits et le solde du joueur, je comptais mettre en place un Trigger qui alimenterai 3 champs.


Cependant, supposons (que de suppositions !) que je veuille faire une recherche du type "trouver les clients ayant depenser plus de 500 euros entre le 34 janvier et le 43 fevrier". Mon système de trigguer est beaucoup moins efficace ! Je pense tout de meme qu'il permet d'effectuer rapidement un premier filtrage non negligeable (quelqu'un qui n'a pas un total de 500 euros dépensés ne peut pas avoir dépensé plus de 500 euros sur une période + courte...) mais je cherche une solution de faire... mieux. Parce que sur 400 000 utilsateurs, n'importe quelle optimisation n'est pas negligeable.

C'est la première fois que je suis confronté à ce genre de problèmatique de recherche, si quelqu'un avait une expérience à partager, je suis preneur