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

MS SQL Server Discussion :

[SQL Server 2005]Benchmark SQL Server


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut [SQL Server 2005]Benchmark SQL Server
    Bonjour.

    Je suis en train d'effectuer un benchmark comparatif entre une BD Objet existante et une BD SQL Server.

    Pour cela je simule un cas d'utilisation des deux côtés en faisant :
    - côté objet des accès de lecture, modification, ecriture dans la base depuis un client Java.
    - côté SQL Server 2005 des requêtes SELECT, UPDATE, INSERT dans la base depuis un client C#.Net.

    La différence de technologie employée s'explique par le fait que ma boîte va :
    - Soit rester avec son environnement actuel (JAVA / BDObjet)
    - Soit passer sur le couple (SQL Server / C#.Net)

    Voilà pour ce qui est des explications.

    Maintenant sur un plan technique je démarre ma machine, une fois que tout est bien lancé, je lance mon programme C# et je chronomètre les temps en Millisecondes de trois fois la même requête SELECT sur la base SQL Server 2005 (qui est ouverte avant le chronométrage et qui est fermée après la fin des trois tests).

    Au niveau des temps obtenus la première requête est beaucoup plus longue que les deux autres. Je pense que c'est parce que SQL Server optimise ses scénarios d'accès aux données dès la première requête effectuée.

    Ma question : Est-ce que cette différence ne vient QUE de l'optimisation ou bien se peut-il qu'au premier lancement de ma requête certains procédés (genre initialisation de l'accès à la base, etc ...) ralentisse également mon premier accès ?

    Merci d'avance !

  2. #2
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    tu as les deux :

    - la 1° connection fait plein de tests et d'init
    - si tu fais trois requetes identiques ET que UpdateStatistics n'est pas desactivé, la troisième sera plus rapide. mais ceci est logarithmique et au bout de la 20° environ l'écart sera pratiquement null.

    en revanche , SQL serveur n'a pas encore rattrapé Oracle sur les statistics, leurs index virtuels ne sont sont pas encore tout a fait au point.

    si tu veux gagner en rapidité passe par des proc stock => la ca va beaucoup plus vite!!

    A+
    serge
    Errare humanum est, perseverare diabolicum (Sénèque)

  3. #3
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut
    Merci Serge.

    Quand tu dis que je gagnerai en rapidité avec les procédures stockées tu veux signifier que ca va plus vite de faire mes select dans des procédures stockées appelées depuis mon code C# plutôt que de lancer ma requête via C# ?

    Parce que quoiqu'il en soit je doit appeler mon accès depuis un code C# pour reproduire les futures conditions d'utilisation.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    oui car si tu fais une ps (lire procédure stockée de select) il va la compiler
    et la recompiler de temps en temps un peu comme une vue.

    en résumé
    - la requete directe va chercher les infos et les agglomèrent et les retournent
    - la ps ne va chercher dans l'agglomérat déjà prépositionné la partie que tu recherche. (sauf si ta ps contient l'option with recompile)

    A+
    serge
    Errare humanum est, perseverare diabolicum (Sénèque)

  5. #5
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 165
    Points : 136
    Points
    136
    Par défaut
    Merci de ton explication

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/12/2007, 12h08
  2. Utilisation de SQL Server 2005 et SQL Server 2000
    Par doudou_rennes dans le forum Windows Forms
    Réponses: 1
    Dernier message: 31/10/2007, 10h16
  3. Migration de SQL Server 2005 vers SQL Server 2000
    Par myNonSpace dans le forum Accès aux données
    Réponses: 3
    Dernier message: 02/08/2007, 10h40
  4. Réponses: 3
    Dernier message: 04/06/2007, 12h29
  5. [Sql Server 2005] sous Windows server 2003
    Par Erwan56 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/02/2007, 17h59

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