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 :

Problème de lenteur requête SQL exécutée dans une page ASP


Sujet :

MS SQL Server

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 240
    Points : 210
    Points
    210
    Par défaut Problème de lenteur requête SQL exécutée dans une page ASP
    Bonjour,

    Je suis confronté a un problème difficile à résoudre. J'ai une requête SQL qui fonctionne rapidement lorsque l'on exécute dans Management Studio. Cette même requête, avec les mêmes paramètres, dure très longtemps lorsqu'elle est exécutée dans une page ASP.

    Le serveur SQL est un 2005 Enterprise Edition 64 Bits, 16 GB RAM.
    Le serveur IIS est en version 6.

  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
    21 766
    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 : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Postez votre requête...
    Avez vous mis des noms qualifiés à tous vos objets ?

    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 actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 240
    Points : 210
    Points
    210
    Par défaut
    En effet, certains noms d'objet ne sont pas qualifiés. J'ai remarqué que les alias définis au niveau des tables ne sont pas toujours utilisées au niveau des colonnes spécifiées dans la clause SELECT.

    J'ai remarqué autre chose : les pages ASP font appel à une DSN. Cette DSN utilise un pilote ODBC pour se connecter à SQL Server. Ce pilote ODBC date de 2000 !

    Je suis convaincu que cela a une incidence au niveau des plans d'exécution (sinon je ne vois pas pourquoi on a créé OLE DB et SQL Native Client). Cependant je n'ai malheureusement pas trouvé de documentation pour le démontrer.

    Si tel est le cas, merci de m'aiguiller.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    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 : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Je ne suis pas sur qu'ODBC soit en cause... En revanche sur l'absence de schéma en préfixe des objets, ça c'est particulièrement catastrophique depuis la version 2005 !

    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/ * * * * *

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 240
    Points : 210
    Points
    210
    Par défaut
    Néanmoins la mise à jour des pilotes ODBC n'est-elle pas nécessaire ? Nous sommes en précence d'un pilote ODBC qui a été concu à une époque ou SQL 2005 n'existait pas encore.

    Le problème, qui est troublant, est que l'est la même requête qui est exécutée dans ASP et sur Management Studio (avec, il est vrai, les mêmes problèmes d'alias évoqué ci-dessous).

    Est-ce que cela peut avoir une influence sur le comportement de la requête ?

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Citation Envoyé par SQLPro
    En revanche sur l'absence de schéma en préfixe des objets, ça c'est particulièrement catastrophique depuis la version 2005 !
    J'ai lu je ne sais plus où un test sur une charge de travail avec des objets non qualifiés sous SQL Server 2000 et 2005.
    Ce test révélait à un gain de 400 transactions par seconde sous SQL Server 2000 et 100 transactions par second sous 2005...
    Mais je veux savoir pourquoi tu dis que c'est pire depuis SQL Server 2005.

    Peut-être qu'en qualifiant les objets + mise à jour du pilote ODBC vous obtiendriez les meilleures performances possibles.
    Commencez par qualifier les objets, ça devrait déjà aller mieux

    @++

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 240
    Points : 210
    Points
    210
    Par défaut
    Pour la qualifications des objets, j'ai pris l'habitude de le faire (utilisation des alias, schéma dbo), mais ce n'était pas le cas dans cette requête.

    Néanmoins, il me reste à trouver une réponse claire en ce qui concerne les pilotes ODBC.

Discussions similaires

  1. Problème d'appel de fonction js dans une page asp.net
    Par diablerouge2000 dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 27/01/2014, 12h26
  2. Réponses: 2
    Dernier message: 11/02/2013, 16h39
  3. Réponses: 1
    Dernier message: 24/06/2010, 18h31
  4. Problème "conceptuel" de requête SQL (pas dans leurs ecritures)
    Par Julie!!! dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 22/04/2008, 11h25
  5. Réponses: 4
    Dernier message: 14/11/2006, 19h03

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