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

Linq Discussion :

Linq to sql : Avis


Sujet :

Linq

  1. #61
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,
    Citation Envoyé par WOLO Laurent Voir le message
    Toutefois il faut que tu fasses ressortir des tests qui pouverais que Linq + Cmd par exemple serait plus rapide que le SQL Standard
    Il faut regarder le tableau ici: http://immobilis.developpez.com/tuto...amework/#LIV-G.
    Sauf erreur, deux cycles de tests indiquent que le fournisseur SQL est plus lent lors de 1000 lectures des 8000 enregistrement de la table (procédure stockée "SelectAllCustomers"). Comme je l'indique, il faut relativiser. Ce résultat est obtenu sur mon portable et pour avoir plus de précisions, il faudrait le faire dans un environnement matériel plus adapté. Malheureusement, je n'ai pas cette possibilité en ce moment. Si quelqu'un peut faire le test ce serait cool. J'ai laissé les sources.

    J'avais ouvert une discussion sur cette interrogation il y a longtemps. Les résultats aboutissaient aux mêmes conclusions. Cependant, dans un environnement avec des serveurs en RAID et séparés le SQL Standard l'a finalement emporté. Ouf

    Maintenant, tout n'est pas simplement affaire de rapidité de la DAL. Comme me disait iberserk: "les performances seront moindres, dans 80% des cas ce n'est pas un problème car une application de gestion travail sur des volumes en majorité faibles et ce n'est pas parce que vous passez de 250ms à 300 que l'utilisateur le verra". A un certain niveau, l'intérêt est ailleurs.

    A+

    Immo
    "Winter is coming" (ma nouvelle page d'accueil)

  2. #62
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    J'avais ouvert une discussion sur cette interrogation il y a longtemps. Les résultats aboutissaient aux mêmes conclusions. Cependant, dans un environnement avec des serveurs en RAID et séparés le SQL Standard l'a finalement emporté. Ouf
    Heureusement, que c'est déjà débatu et l'on connait la conclusion,


    Je voulais aussi te faire noter un petit fait :
    La création et la suppression des données dans ta table via des transactions pilotées par ADO.Net, tu l'aurais fait en un seul roud-trip et dans une procedure stockée global, nous sommes entrain de rechercher les perfs.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #63
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    La création et la suppression des données dans ta table via des transactions pilotées par ADO.Net, tu l'aurais fait en un seul roud-trip et dans une procedure stockée global, nous sommes entrain de rechercher les perfs.
    Pas sur cette opération. Je ne teste que le CRUD. D'ailleurs, je n'ai pas implémenté cette méthode sur les autres fournisseurs.
    "Winter is coming" (ma nouvelle page d'accueil)

  4. #64
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    J'aurais aimé que tu fasses cette modification même si elle ne rentre pas en ligne de compte dans les tests. Ca sera publié et je souhaite vivement que les meilleurs pratiques soient toujours publiées dans nos codes afin que les newbes puissent les adopter même sans les comprendre (Théorie de Goering)

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  5. #65
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    les meilleurs pratiques soient toujours publiées dans nos codes
    C'est très relatif. Ce n'est pas à mon sens une mauvaise pratique que de faire appel à deux procédures stockées différentes. La mauvaise pratique eu été de le faire en dehors d'une transaction par exemple. Je devrais peut-être simplement tester le retour de l'exécution de la première requête.

    [EDIT]Aie, exemple de mauvaise pratique, utiliser un objet disposable sans le "using". J'ai corrigé le CustomerManager
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void DropCreateTable()
    {
        using (SqlCustomerProvider provider = new SqlCustomerProvider())
        {
            provider.DropCreateTable();
        }
    }
    [/EDIT]

    En effet, si on considère la responsabilité de la BLL/Base de données, il appartient à la BLL de faire appel à l'une ou à l'autre ou aux deux. C'est le métier qui décide, pas la base Mais j'arrête car ça sens le troll

    Citation Envoyé par WOLO Laurent Voir le message
    les newbes puissent les adopter même sans les comprendre
    Euh...
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Réponses: 7
    Dernier message: 19/02/2008, 14h14
  2. [Linq 2 SQL] Problème de modélisation
    Par tomlev dans le forum Accès aux données
    Réponses: 5
    Dernier message: 12/02/2008, 23h29
  3. [Linq to sql] db.add() ?
    Par telynette dans le forum Accès aux données
    Réponses: 2
    Dernier message: 08/02/2008, 19h54
  4. [Linq to SQL] Refresh du dbml
    Par zeavan dans le forum Visual Studio
    Réponses: 5
    Dernier message: 02/01/2008, 10h15
  5. [SQL] [Avis] - Xml ou SQL pour afficher 15 petites news ?
    Par ShinJava dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 23/03/2006, 14h25

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