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 :

[SQL2k0] pb de parallèlisme de requêtes


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 70
    Points
    70
    Par défaut [SQL2k0] pb de parallèlisme de requêtes
    Bonjour à tous !

    on me rapporte un message d'erreur sur un serveur SQL 2000 que je n'ai jamais rencontré jusqu'à maintenant :

    Intra query parallelism caused your server command to deadlock.

    est-ce quelque chose rencontré par certains d'entre vous ?
    j'ai fait quelques recherches, mais à priori, les moyens de contournement demandent la modification au niveau du serveur en lui même, et pas uniquement sur la base, ça me gêne un peu.

    Quelq'un aurait une idée ?

    Merci d'avance.
    Jo

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    As-tu des processeurs en hyperthreading ?
    Si tu ne veux pas modifier la configuration du "maximum degree of parralelism" du serveur, ce qui serait pourtant probablement la meilleure solution, tu peux changer seulement la requête qui te pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT ...
    FROM...
    ...
    OPTION (MAXDOP 1)
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 70
    Points
    70
    Par défaut
    j'avoue que je suis un peu néophyte sur ces notions !

    As-tu des processeurs en hyperthreading ? --> comment puis je le savoir ?

    pour toi la meilleure solution consisterait à modifier la configuration du "maximum degree of parralelism" du serveur ? On peut le faire par procédure Stockée ?

    ce qui me paraît étonnant, c'est que de mon côté, sur mon portable, je n'ai jamais rencontré de soucis, et que le client a ce message sur son serveur !


    Cordialement,

    Jo

  4. #4
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bien sûr que tu n'as pas la même réaction sur ton protable que sur son serveur : le parrallélisme est dépendant du nombre de processeurs...

    Pour tester les CPU et savoir s'ils sont en hyperthreading, essaie cet outil :
    http://www.cpuid.com/cpuz.php

    Sinon, pour savoir si tu dois désactiver le parallélisme, il faut savoit le nombre de processeurs physiques et le nombre de processeurs logiques
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  5. #5
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 70
    Points
    70
    Par défaut
    merci beaucoup pour tes réponses, mais j'ai bien l'impression que ça dépasse mes compétences ... Oups !!

    Je vais d'abord essayer l'ordre SQL que tu m'as donné Option (maxdop 1) pour un dépannage rapide !
    Dans un second temps, je passerai du temps à essayer de réécrire la requête, parce que j'ai l'impression que je vais me noyer dans ces notions de parallélisme et d'hyperthreading !

    En fait le problème vient aussi du fait que le serveur en question n'est ne m'est pas dédié, je ne voudrais pas faire des modifications qui pourraient avoir des conséquences non maitrisées dans d'autres applis !

  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 848
    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 848
    Points : 52 966
    Points
    52 966
    Billets dans le blog
    6
    Par défaut
    Est-ce que cette requête utilise des fonctions (UDF) qui font appel aux mêmes tables ?

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

  7. #7
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 98
    Points : 70
    Points
    70
    Par défaut
    non pas d'UDF.
    en fait la requête portait sur une vue, laquelle vue était composée de deux requêtes reliées par un UNION.

    Il y avait aussi pas mal de CASE, qui je crois sont assez gourmands !

    J'ai réécrit un peu la vue, notamment pour supprimer les CASE de la requête. A priori c'est mieux, le message d'erreur a disparu pour le moment.

    Si jamais il apparaît de nouveau, je tenterai l'option OPTION (MAXDOP 1)

    Petite question, positionner des index sur les tables utilisées par la vue a t-il un intérêt ou bien faut il mieux envisager de créer des index sur la vue ?

    Je crois que positionner des index sur une vue comprenant un UNION est impossible d'ailleurs !

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 848
    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 848
    Points : 52 966
    Points
    52 966
    Billets dans le blog
    6
    Par défaut
    Petite question, positionner des index sur les tables utilisées par la vue a t-il un intérêt ou bien faut il mieux envisager de créer des index sur la vue ?
    C'est plus qu'essentiel : c'est indispensable !

    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. parallélisme dans le plan de ma requête
    Par joujousagem2006 dans le forum Administration
    Réponses: 5
    Dernier message: 08/10/2014, 10h19
  2. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  3. Requete requête sous sybase
    Par eddie dans le forum Sybase
    Réponses: 3
    Dernier message: 02/04/2003, 14h51
  4. Requête imbriquée et indexes INTERBASE
    Par vadim dans le forum InterBase
    Réponses: 2
    Dernier message: 06/09/2002, 16h15
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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