Chloe Sival
2015-04-15 05:14:41 UTC
Bonjour,
J'ai une petite question:
J'ai un script perl qui va mettre a jour une table MySQL, il envoi des:
UPDATE STATS_Summary_Hourly SET
mails_total=(mails_total+1),mails_rbl=(mails_rbl+1),MO_received=(MO_received+650),MO_blocked=(MO_blocked+0.650)
WHERE dom_id=105 AND Date_Start="2015-04-15 01:00:00" AND
Date_End="2015-04-15 01:59:59";
UPDATE STATS_Summary_Hourly SET
mails_total=(mails_total+1),mails_rbl=(mails_rbl+1),MO_received=(MO_received+650),MO_blocked=(MO_blocked+0.650)
WHERE dom_id=105 AND Date_Start="2015-04-15 01:00:00" AND
Date_End="2015-04-15 01:59:59";
UPDATE STATS_Summary_Hourly SET
mails_total=(mails_total+1),mails_rbl=(mails_rbl+1),MO_received=(MO_received+650),MO_blocked=(MO_blocked+0.650)
WHERE dom_id=105 AND Date_Start="2015-04-15 01:00:00" AND
Date_End="2015-04-15 01:59:59";
UPDATE STATS_Summary_Hourly SET
mails_total=(mails_total+1),mails_rbl=(mails_rbl+1),MO_received=(MO_received+650),MO_blocked=(MO_blocked+0.650)
WHERE dom_id=105 AND Date_Start="2015-04-15 01:00:00" AND
Date_End="2015-04-15 01:59:59";
Mon soucis est qu'il exécute 5000 fois le même update.
Je me demandais si j'avais un moyen de créer une sorte de table en
mémoire qui permettrait de "résumer":
trois critères:
Dom_id
Date_Start
Date_End
et des données:
mails_total
mails_rbl
MO_received
MO_blocked
qui me sortirait a la fin un
Dom_id=105
Date_Start="2015-04-15 01:00:00"
Date_End="2015-04-15 01:59:59";
mails_total=35
mails_rbl=35
MO_received=22.75
MO_blocked=22.75
Dom_id=105
Date_Start="2015-04-15 02:00:00"
Date_End="2015-04-15 02:59:59";
mails_total=82
mails_rbl=82
MO_received=53.30
MO_blocked=53.30
j'aurais réussi a "regrouper" (dans mon exemple) 117 requêtes update en
deux requêtes ;=)
merci d'avance pour vos suggestions
Chloe
J'ai une petite question:
J'ai un script perl qui va mettre a jour une table MySQL, il envoi des:
UPDATE STATS_Summary_Hourly SET
mails_total=(mails_total+1),mails_rbl=(mails_rbl+1),MO_received=(MO_received+650),MO_blocked=(MO_blocked+0.650)
WHERE dom_id=105 AND Date_Start="2015-04-15 01:00:00" AND
Date_End="2015-04-15 01:59:59";
UPDATE STATS_Summary_Hourly SET
mails_total=(mails_total+1),mails_rbl=(mails_rbl+1),MO_received=(MO_received+650),MO_blocked=(MO_blocked+0.650)
WHERE dom_id=105 AND Date_Start="2015-04-15 01:00:00" AND
Date_End="2015-04-15 01:59:59";
UPDATE STATS_Summary_Hourly SET
mails_total=(mails_total+1),mails_rbl=(mails_rbl+1),MO_received=(MO_received+650),MO_blocked=(MO_blocked+0.650)
WHERE dom_id=105 AND Date_Start="2015-04-15 01:00:00" AND
Date_End="2015-04-15 01:59:59";
UPDATE STATS_Summary_Hourly SET
mails_total=(mails_total+1),mails_rbl=(mails_rbl+1),MO_received=(MO_received+650),MO_blocked=(MO_blocked+0.650)
WHERE dom_id=105 AND Date_Start="2015-04-15 01:00:00" AND
Date_End="2015-04-15 01:59:59";
Mon soucis est qu'il exécute 5000 fois le même update.
Je me demandais si j'avais un moyen de créer une sorte de table en
mémoire qui permettrait de "résumer":
trois critères:
Dom_id
Date_Start
Date_End
et des données:
mails_total
mails_rbl
MO_received
MO_blocked
qui me sortirait a la fin un
Dom_id=105
Date_Start="2015-04-15 01:00:00"
Date_End="2015-04-15 01:59:59";
mails_total=35
mails_rbl=35
MO_received=22.75
MO_blocked=22.75
Dom_id=105
Date_Start="2015-04-15 02:00:00"
Date_End="2015-04-15 02:59:59";
mails_total=82
mails_rbl=82
MO_received=53.30
MO_blocked=53.30
j'aurais réussi a "regrouper" (dans mon exemple) 117 requêtes update en
deux requêtes ;=)
merci d'avance pour vos suggestions
Chloe