Salut à tous !
Voilà je viens vers vous pour une question bête peut-être, mais je vois pas vraiment comment faire pour optimiser. Voilà le topo :
J'utilise sur mon administration le plugin JS DataTable (du coup obligé d'afficher directement une requête full). Enfin bref j'ai 700 utilisateurs et j'affiche simplement le pseudo, l'email et 3 boutons.
Du coup dans mon controller je fais simplement un @users = User.all
, mais du coup ma page met ~20 secondes à s'afficher et j'aimerai optimiser ça.
J'ai pensé à un système de cache mais ça ne changerai pas le problème car il y aurai à chaque nouveau user ou modification un moment ou la page remettra 20 secondes à s'afficher.
Connaissez-vous un moyen d'optimiser cet affichage tout en gardant DataTable (utile pour rechercher, trier, etc) ? car pour le moment, le temps de chargement est acceptable mais avec le double ou le triple de donnée ça risque d'être compliqué.
Merci d'avance.
Bonjour @fital,
Je ne sais pas quel moteur SQL
tu utilises pour ton système, mais dans tous les cas, il sera surement plus performant pour ton site de charger progressivement les données via AJAX
. Je suppose que tu utilises un système de pagination dans ta table (?).
Voici une documentation qui explique bien comment procéder avec JS DataTables
:
https://datatables.net/release-datatables/examples/data_sources/server_side.html
Et voici des informations supplémentaires sur les parametres qui sont envoyés via la requete ajax pour renvoyer les bonnes données.
https://datatables.net/manual/server-side
Si tu as d'autres questions, n'hésite pas.
Zevoxs