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 performance dans une procédure stockée de type CLR


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut Problème de performance dans une procédure stockée de type CLR
    Bonjour

    Nous avons développé une procédure stockée de type CLR que nous avons testée sur un PC XP de petite taille (Dualcore 2 Gb RAM) et que nous avons déployée sur un serveur Windows 2008 R2 avec SQL 2008 R2 or cette procédure stockée tourne 2 fois moins vite sur ce serveur que sur le PC

    Cette procédure génère des étiquettes à partir de bases locales et les stocke dans une autre base locale, ce n'est donc pas non plus un problème de réseau

    Comme le PC utilisait une édition SQL développement, nous avons essayé en changeant la version du serveur pour passer sur une édition Entreprise

    Nous avons changé le mode des bases de données de récupération FULL à SIMPLE
    Les logiciels sur le serveur ont été mis à jour à la dernière version disponible par Windows Update
    Pour info, le PC utilise un backup des bases du serveur sur lequel sont exécuté des scripts de plans de maintenance hebdomadaires alors que rien n'est programmé sur le PC

    La charge CPU du serveur reste assez faible et la mémoire consommée par SQL Server, après reboot, ne monte pas

    Quelqu'un a-t-il été confronté à une problème semblable et avez-vous trouvé une solution pour améliorer ces performances ?

    D'avance merci pour vos réponses

    Michel

  2. #2
    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 : 44
    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
    Par défaut
    Bonjour,

    Comme vous passez de XP (qui n'est d'ailleurs plus supporté par Microsoft depuis le 8 Avril 2014) à Windows Server 2008, je pense immédiatement à :

    • La version du Framework
    • Le type de CPU avec lequel vous avez compilé : 32 ou 64 bits

    L'édition Developer est identique à l'Enterprise, si ce n'est que le nombre de processeurs que l'on peut utiliser avec la première est limité.
    Le mode de récupération n'a rien à voir dans la vitesse d'exécution du code, de quelque nature qu'il soit.

    @++

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut
    La compilation en mode 64bits avait été la première modification à être appliquée mais entre temps, nous avons même remplacé le PC du développeur par un Windows 7 nativement 64bits et les performances restent les mêmes sur le PC
    La version du Framework avait bien sûr été adaptée entre les 2 environnements

  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 999
    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 999
    Billets dans le blog
    6
    Par défaut
    Détaillez ce que fait cette procédure et montrez nous le code.

    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
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Par défaut
    J'ai ajouté en pièce jointe le code de la procédure stockée qui génère les étiquettes ainsi que la description des tables (avec index) et fonction utilisées dans la jointure

    La variable @champs est remplacée par une énumération des informations à imprimer sur l'étiquette (de l'ordre de 70 dans notre cas)
    Les variables @cab et @pdc sont les critères de sélection dans la vue
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    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 999
    Billets dans le blog
    6
    Par défaut
    Vous faites pas de la base de données, là !!! Vous faites du tableur Excel !

    [dbo].[TAB_DATA_MAT] => 36 colonnes
    avec 4 beaux viols de 1FN :
    [DesignationFRA] / [DesignationALL]
    [DimensionX] / [DimensionY] / [DimensionZ]
    [ColorisExt] / [ColorisInt]
    [SensFilExt] / [SensFilInt]

    [dbo].[TAB_MES_COLIS] => 36 colonne, clé primaire composée de 6 colonnes (int, int char(3), tinyint, int, cgar(10) !
    avec aussi de beaux viols de 1 FN
    DimensionColis... DesignationComp1Etiq...

    [dbo].[TAB_MES_CPS] => 108 colonnes
    Un nombre impressionnant de viols de 1 FN
    colonnes se terminant par 1, 2, 3, 4 ou 5 :[ColorisChant1], [EpaisseurChant1], [FormeCpsChant1], [RecouvrementChant1], [TypePercage1]
    colonenes IntervaleTolerance... (10 !)

    [dbo].[TAB_MES_PDC] => 84 colonnes

    Ne vous étonnez pas d'avoir aucune performances....
    A lire : http://blog.developpez.com/sqlpro/p1...mances_petites

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/08/2007, 11h02
  2. Réponses: 1
    Dernier message: 06/03/2007, 11h57
  3. Réponses: 1
    Dernier message: 20/07/2006, 17h03
  4. Réponses: 4
    Dernier message: 16/12/2005, 16h25
  5. Problème Alter view dans une procédure stockée
    Par adjava dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/07/2005, 17h45

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