Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

2 réponses
Avatar
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.

2 réponses

Avatar
Vincent Poyo
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" a écrit dans le message de
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.





Avatar
Michel LEVY
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" a écrit dans le message de 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.