Ticket #367 (closed enhancement: wontfix)
Optimisation du nombre de requêtes
Reported by: | bruno | Owned by: | olivier |
---|---|---|---|
Priority: | lowest | Milestone: | 2.1 |
Component: | module:core | Version: | 2.0 |
Severity: | minor | Keywords: | |
Cc: |
Description
Actuellement, dans le home.html, la liste des billets à afficher est récupérée au moins 2 fois en base, une fois pour le header, une fois pour le body. Il en est de même dans post.html pour les billets suivant et précédent.
Il pourrait être intéressant, pour les fonctions template requêtant la base, de permettre de stocker les resultset dans un nom donné, et de pouvoir récupérer ces resultsets a posteriori. On évite ainsi les duplicats de requêtes en base.
Exemple :
- ajout d'un attribut save="name", qui sauve la liste courante dans un tableau $_ctx->saved à l'index 'name' par exemple
- ajout d'un attribut load="name", qui récupère la liste précédemment sauvée, et saute dans la boucle directement.
Change History
Note: See
TracTickets for help on using
tickets.
Les serveurs de DB mettent leurs requêtes en cache, du coup, je ne sais pas si c'est si opportun de faire un système de cache des résultats qui sera pas vraiment plus performant.
Il faudrait alors que les requêtes semblables soient réellement identiques. La requête des billets en home pour les en-têtes et pour le reste devraient alors se faire avec le contenu dans chaque cas.
Un resultset ne peut pas être sauvegarder si on veut un jour les utiliser en non-rewind, ce qui risque d'arriver avec certaines db.