-
Grid View optimisé
Bonjour,
J'ai besoin de créer un gridview très optimisé pour application Web très lourde... En fait il s'agit de traitement de dossiers patients (2 millions environ) dans la région du Rhône Alpes... Chaque patient pouvant avoir plusieurs dizaines de pièces (y'en a quand même qui en ont 0)... Un formulaire de recherche retourne donc une partie de ces patients (d'après les critères saisies).
LEs délais des requêtes et d'affichage de mes pages aspx sur les versions précédentes du produit étant trop longue, nous essayons de concevoir une nouvelle architecture, tant sur le site que sur la base de données. Sachant que le gridView doit être paginé et triable, J'ai besoin de quelques coneils, retour d'experience... sur la façon de procéder. Mes questions sont :
- Dois je faire une requête en BD à chaque postback
- Sinon et il judicieux de stocker la liste des patients à afficher dans le ViewState ou dans la session
- comment utiliser le ViewState à bon escient
- Le tri des colonnes doit il se faire sur le base Sql server
- Est il judicieux d'implémenter un grid utilisant la techno AJAX...
Tous autre conseil est la bienvenue...
Merci
-
Truc important à savoir: si tu utilises le comportement normal du GridView, t'auras une requête à la base avec un rappatriement totale des données à chaque fois que tu changeras de page ou que tu trieras.
A toi de le customiser pour ne récupérer que les données qui seront affichées
-
Bonjour,
donc dans ce cas ce que tu dois optimiser c'est ta db, en créant des index que tu maintiens à jour, en optimisant aussi tes requêtes SQL, bien analyser ces requêtes. avec ça c'est déjà un bon départ.
malheureusement un fois qu'on quitte un peu le sentier tracé du GridView ça devient un peu compliqué de le gérer.
donc ce que je te conseils c'est p-e de bosser avec des DataSources et de travailler là dessus principalement
En ce qui concerne Ajax ça ne permet que d'alleger le rafraichissement graphique et un peu des données, mais c'est toujours ça de gagné
pour ce qui est du tri, ça dépend de la manière dont tu gères tes données : si tu rapatries une page à la fois ou toute la selection.
ensuite il faut se dire qu'un utilisateur ne sera pas interessé d'avoir réellement 2.000.000 d'enregistrements retournés, s'il ne trouve pas ce qu'il cherche du premier coup, il fera une recherche plus approfondie (si tu vois ce que je veux dire)
voilà j'espère que ça pourra te mettre sur la voie