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

Développement SQL Server Discussion :

Delta en termps entre un execute et la requete


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut Delta en termps entre un execute et la requete
    Bonjour,
    Dans une PS, je construit en dynamique quelques requêtes que j'execute par un EXECUTE.

    Via l'analyseur de profil 2005, j'ai constaté que l'exécution de la requete prenait entre 1 à 16 ms alors que le temps de l'execute prenait quand à lui entre 50 et 125 ms !!!

    Sur une requête la différence est peut-être infime mais sur une centaine, on commence à le sentir passer ...

    Alors que je me laisse avoir par l'analyseur de profil mais bon ...

    Pour info les requêtes que j'execute sont de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ' INSERT INTO ' + @STR_TABLE + ' SELECT ' + @STR_COLONNES + ' FROM ' + @STR_TABLE_SELECT + ' WHERE T = ' + @STR_T + ' AND ID = ' + @STR_ID

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par défaut
    Ces teps anormaux sont généralement dus à la recompilation systématique de la requête. Ce qui est normal en SQL dynamique.
    Vous pouvez en principe régler cela en utilisant la procédure sp_executesql.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut
    Alors j'avais effectivement lu cela et donc j'ai essayé mais malheureusement j'ai constaté les mêmes temps ...

    sp_executesql est meilleure si les tables utilisées sont les mêmes mais là elles changent à chaque fois ...

    PS : je crois que votre site ne marche toujours pas ...

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/10/2008, 11h04
  2. Delta en termps entre un execute et la requete
    Par maitrebn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/09/2007, 11h15
  3. Communication entre deux Executables ?
    Par QAYS dans le forum Langage
    Réponses: 8
    Dernier message: 11/05/2005, 14h41
  4. communication entre deux executables
    Par semenzato dans le forum MFC
    Réponses: 8
    Dernier message: 13/04/2005, 22h19
  5. Réponses: 2
    Dernier message: 07/10/2004, 16h31

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