IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ADO.NET Discussion :

Espace memoire utilisé par un Dataset


Sujet :

ADO.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 229
    Points : 60
    Points
    60
    Par défaut Espace memoire utilisé par un Dataset
    Bonjour messieurs,

    J'ai un problème de compréhension concernant l'utilisation des Datasets.
    Les datasets sont une copie de la base de données, mais je me demande comment sont chargées les données d'un Dataset. En memoire ou dans un fichier XML? Leur utilisation ne demanderait pas une grande ressource mémoire?
    Mon problème est de savoir comment la memoire est utilisée par un dataset?
    Merci pour votre aide. J'ai besoin d'éventuels liens internet pour mieux comprendre l'implementation des Dataset?
    Cordialement...

  2. #2
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 363
    Points : 161
    Points
    161
    Par défaut
    Si je me rappelle bien (j'avais eu le même problème), un dataset stocke les données en mémoire au format XML.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Klemsy78 Voir le message
    En memoire ou dans un fichier XML?
    Un dataset lorsqu'il chargé est stocké en mémoire. Un fichier xml intervient seulement si et seulement tu sérialise le dataset.

    Citation Envoyé par Klemsy78 Voir le message
    Leur utilisation ne demanderait pas une grande ressource mémoire?
    Puisqu'un dataset est stocké en mémoire je pense que cela dépendra de la quantité de tes données à charger.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Klemsy78 Voir le message
    Les datasets sont une copie de la base de données
    Non, un DataSet stocke seulement le résultat des requêtes que tu as définies dans tes DataAdapters... rien ne t'oblige à charger toute la base (sinon ce serait impossible de travailler avec des bases de plusieurs Go...)

    Citation Envoyé par Klemsy78 Voir le message
    Leur utilisation ne demanderait pas une grande ressource mémoire?
    Là encore, ça dépend de ce que tu charges... si tu charges juste quelques données de référence, c'est pas énorme. Si tu charges toutes les commandes des 100000 clients d'une boite sur les 10 dernières années, là ça commence à faire beaucoup

    Citation Envoyé par bakonu Voir le message
    Si je me rappelle bien (j'avais eu le même problème), un dataset stocke les données en mémoire au format XML.
    En mémoire, mais pas au format XML. Le XML est utile pour la représentation des données dans un fichier, mais en mémoire il y a des moyens beaucoup plus efficaces d'organiser les données. Par contre, tu peux enregistrer le DataSet dans un fichier XML...

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    C'est le schéma de la base de donnée qui est sauvegardé en xml si je me souviens bien.

    Doit aussi être possible de faire un export en xml des datatable le composant cela dit (Vu qu'on peut utiliser un fichier xml pour charger le même dataset...).

    Autrement la taille en mémoire (entre la ram, le swap, ect) cela dépend des données que tu charge dans les datatable à l'aide des requêtes fill des tablesadapter.

    Les requêtes fill crées par défaut renvoie le contenu d'une table mais il est possible d'ajouter d'autre requête avec des paramètres permettant de limiter ce que tu charges.

    Faudra juste être sensible dans la conception du code que la datatable n'est alors pas forcément un mirroir de la base de donnée.

    Après c'est une histoire de métrique pour tes données.

    Je suis pas persuadé de l'interet de mettre un "fillbyacteur" dans un programme de videothèque perso avec une bd access de 3 méga.

Discussions similaires

  1. ~1 Go espace disque utilisé par Nvidia drivers
    Par timoun dans le forum Windows XP
    Réponses: 5
    Dernier message: 08/12/2010, 18h32
  2. Espace Memoire occupé par une table
    Par guigui76esi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/07/2008, 10h44
  3. memoire utilisé par l'appli
    Par uriotcea dans le forum C++
    Réponses: 5
    Dernier message: 14/05/2008, 21h32
  4. Réponses: 7
    Dernier message: 26/04/2006, 16h16
  5. [JVM]Espace mémoire occupé par un objet
    Par devtele dans le forum Général Java
    Réponses: 6
    Dernier message: 29/12/2005, 23h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo