Stratégie d'usage du DataSet et ressource mémoire

Le
Jean-Noël
Bonjour,

J'ai débuté il y a quelques mois en VB.NET et je commence à réaliser une
application qui utilise des bases de données Access comme support de données
et je les exploite par le code avec ADO.NET.

Mon application avance, et j'utilise un DATASET dans lequel je charge les
tables nécessaires à l'édition au fur et à mesure de la demande utilisateur.
Tout va bien. Pour l'instant la base de données est presque vide.

La question stratégique que je me pose est :
Lorsque les tables auront un volume "de croisière", est-ce que ma stratégie
d'avoir toujours un objet DATASET en mémoire ne va pas poser un problème de
ressources mémoire à un moment ?
Est-ce un bon principe de maintenir un objet DATASET "sous la main" partout
dans l'application ?
Ou est-ce qu'un DATASET est plutôt voué à être instancié, utilisé, puis
déposé ?

Merci de vos conseils.
Jean-Noël.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Vincent Poyo
Le #12196321
Bonjour,

ca c'est l'éternelle question et ca dépend de ta problématique.

premièrement, que ta table dispose d'un gros volume de données ou pas, prend
bien l'habitude à ne charger que ce dont tu as besoin.
Ensuite c'est quelle genre de table, si c'est une table qui bouge quasiment
pas, que tu n'accèdes généralement qu'en lecture, la gestion d'un cache est
peut être intéressant.
Est-ce une application mono ou multi utilisateur. si c'est du multi,
attention aux verrous sur les données, il faut donc les libérers avec les
éventuelles mises à jour au plus tôt.
ensuite c'est le problème des performances, conserver beaucoup de données en
mémoire ? ou alors les lires 150 fois ?

par contre pour l'usage même du dataset dans l'application, perso, je suis
plutôt pour lire en base un dataset (ou datareader) et mettre le résultat
dans un objet, ou une liste d'objet. en gros, si tu as une table personne,
tu fait une classes personne disposant des mêmes propriétés que ta table. la
méthode qui se charge de lires des données de la table personne transforme
le dataset chargés en liste d'objets personne. Mais bon cela ne répond pas a
ta question :), ca ne changera pas l'histoire de la durée de vie de tes
données au sein de l'application.


"Jean-Noël" news:uK01%
Bonjour,

J'ai débuté il y a quelques mois en VB.NET et je commence à réaliser une
application qui utilise des bases de données Access comme support de
données et je les exploite par le code avec ADO.NET.

Mon application avance, et j'utilise un DATASET dans lequel je charge les
tables nécessaires à l'édition au fur et à mesure de la demande
utilisateur. Tout va bien. Pour l'instant la base de données est presque
vide.

La question stratégique que je me pose est :
Lorsque les tables auront un volume "de croisière", est-ce que ma
stratégie d'avoir toujours un objet DATASET en mémoire ne va pas poser un
problème de ressources mémoire à un moment ?
Est-ce un bon principe de maintenir un objet DATASET "sous la main"
partout dans l'application ?
Ou est-ce qu'un DATASET est plutôt voué à être instancié, utilisé, puis
déposé ?

Merci de vos conseils.
Jean-Noël.





Michel LEVY
Le #12196311
Bonjour,

si ton application est centrée sur les données, je te conseille de t'appuyer
sur un framework "data-centric" : CSLA, Vanatec OA, ou StrataFrame (le top
du top à mon avis, c'est celui que j'utilise)

--
Michel
--
"Jean-Noël" uK01%
Bonjour,

J'ai débuté il y a quelques mois en VB.NET et je commence à réaliser une
application qui utilise des bases de données Access comme support de
données et je les exploite par le code avec ADO.NET.

Mon application avance, et j'utilise un DATASET dans lequel je charge les
tables nécessaires à l'édition au fur et à mesure de la demande
utilisateur. Tout va bien. Pour l'instant la base de données est presque
vide.

La question stratégique que je me pose est :
Lorsque les tables auront un volume "de croisière", est-ce que ma
stratégie d'avoir toujours un objet DATASET en mémoire ne va pas poser un
problème de ressources mémoire à un moment ?
Est-ce un bon principe de maintenir un objet DATASET "sous la main"
partout dans l'application ?
Ou est-ce qu'un DATASET est plutôt voué à être instancié, utilisé, puis
déposé ?

Merci de vos conseils.
Jean-Noël.





Publicité
Poster une réponse
Anonyme