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

Accès aux données Discussion :

Optimisation d'accés aux données


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut Optimisation d'accés aux données
    Bonjour,

    1 - tout le monde utilise une variable connection pour établir une connection à une base de données que ça soit une base SQL server ou Oracle etc..
    mais est il sage de garder cette connection ouverte jusqu'a la fin de l'application ou bien de prèférence l'ouvrir et la fermer à chaque fois qu'on a besoin.

    2 - je me penche actuellement sur une application de gestion mais je sais pas ce qu'est le mieux aux niveau performances et consomation de ressources Serveur pour gérer des données au sein d'une base de données SQL Server, Utiliser l'ADO.Net à 100% ou bien mélanger l'ADO.Net et le T-Sql (Procédures Stockées).

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par ratamahatta
    1 - tout le monde utilise une variable connection pour établir une connection à une base de données que ça soit une base SQL server ou Oracle etc..
    mais est il sage de garder cette connection ouverte jusqu'a la fin de l'application ou bien de prèférence l'ouvrir et la fermer à chaque fois qu'on a besoin.
    Si tu exécutes beaucoup de petites requêtes rapides très rapprochées, garde la connexion ouverte.
    Si ce n'est pas le cas, l'une ou l'autre méthode, c'est au choix.
    Citation Envoyé par ratamahatta
    2 - je me penche actuellement sur une application de gestion mais je sais pas ce qu'est le mieux aux niveau performances et consomation de ressources Serveur pour gérer des données au sein d'une base de données SQL Server, Utiliser l'ADO.Net à 100% ou bien mélanger l'ADO.Net et le T-Sql (Procédures Stockées).
    Bah là, je ne suis pas expert, mais si tu ne fais pas de temps réel, l'une ou l'autre méthode ne doit pas changer grandchose, si ce n'est que tu es peut-être plus à l'aise avec une technique ou une autre...
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    Re.

    Merci pour ta réponse.


    ce qui m'a poussé à poser ces questions c'est que j'ai réalisé un test avec des insertions par lot dans une base de données SQL Server 2005, et j'ai pu remarqué que la consommation mémoire sur le serveur augmente sans cesse et même après la fin de l'opération et la fermeture de la connection la quantité mémoire occupée reste la même. je parle ici d'insertions directes par le biais de la commande "Insert",et maintenant j'ai pas le temps pour tester les performances d'ADO.Net ou les procédures stockées, sachant que l'application sera utilisée pour gérer de tas de choses pour la sociétés (Stock, Devis, Commandes,Facturation,Livraison) et ça sera sur plusieurs Site (Accés Internet) et comme tu sais les ressources serveur sont importantes.

    alors comme membre expérimenté que proposes-tu pour ce cas, sachant que ça ne me pose aucun problème de travailler avec Ado.Net ou bien le T-Sql.

    Merci d'avance une fois encore

  4. #4
    DrQ
    DrQ est déconnecté
    Membre émérite
    Avatar de DrQ
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 388
    Par défaut
    Le fait de garder une connexion ouverte est inutile pour deux raisons :
    - ADO.NET utilise un système de pool de connexions, donc même si tu fermes ta connexion elle n'est pas réellement fermée
    - sur les SGBR il y a aussi le même système.

    Tu peux simplement faire le test en regardant le temps d'ouverte de session la première fois et les fois suivantes.

    Ensuite si tu cherches des performances, que tu fasses 1000 insert par code ou que tu appelles 1000 fois une proc stock, je ne pense pas que la différence soit flagrante. Par contre si tu passes un tableau de 1000 lignes à une proc stock qui fait la transaction d'un seul coup alors tu risques de gagner du temps.
    Je ne connais pas bien SQL Server mais tu devrais pouvoir développer une proc stock en C# qui prend en paramètre un objet métier ou bien une liste d'objets métiers et ainsi c'est la proc stock qui s'occupe de faire les insertions.

  5. #5
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    Merci bien pour tes explications je suis convaincu, j'utiliserai l'ado.net pour gérer et modifier la structure des objets de la base de données et les proc stockées pour agir sur les données comme ça je bénificierai de la force des deux.

    Merci encore une fois

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Hibernate]Accès aux données BDD via Hibernate
    Par LESOLEIL dans le forum Hibernate
    Réponses: 8
    Dernier message: 17/05/2005, 20h39
  2. [SGBD]Optimiser le temps d'accès aux données (schéma BD)
    Par vsavoir dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 08/10/2004, 18h33
  3. [débutant] avoir accès aux données de la base BCDI 3
    Par Valichou dans le forum Bases de données
    Réponses: 7
    Dernier message: 06/05/2004, 13h13
  4. accès aux donnée d'un DBGRID
    Par relax_06 dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/03/2004, 23h06
  5. [TDataModule] Intérêt de séparer les accès aux données?
    Par Cornell dans le forum Bases de données
    Réponses: 5
    Dernier message: 05/09/2003, 16h42

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