Compter rapidement dans une base externe
Julien Delmas <[email protected]>
| Newsgroups | gmane.comp.web.spip.user |
|---|---|
| Message-ID | <[email protected]> |
Bonjour à tous,
J’ai besoin de réaliser des calculs : additionner des nombres présent dans la même colonne d'une table d’une base MySQL externe (quelques milliers de ligne).
Je dois réaliser cette opération une cinquantaine de fois. Forcément, c’est long (5 à 10 secondes) donc j’ai mis ces infos dans une div ajax, pour ne la charger que si l’utilisateur en a besoin.
Ma boucle ressemble à ça :
<BOUCLE_compter_effeleves_public_ecoles(mabaseexterne:annuaire){where 'département'=’75'>[(#GET{EFFELEVES_PUBLIC_ECOLES}|plus{#NOMBRE_D_ELEVES}|set{EFFELEVES_PUBLIC_ECOLES})]
</BOUCLE_compter_effeleves_public_ecoles>
J’ai vu qu’on pouvait faire cela bien plus simplement (et rapidement ??) directement dans la requête SQL, avec quelque chose qui ressemblerait à ça :
SELECT SUM(NOMBRE_D_ELEVES) FROM annuaire where 'département'=’75'
Savez-vous s’il existe sur SPIP une commande plus efficace qu’une boucle qui tourne 3000 fois pour additionner les valeurs d’un champ ?
Sinon, comment intégrer cette fonction SUM de MySQL dans une boucle SPIP sur une base externe ?
Merci d’avance.
--
Julien Delmas