SQL Server 2008 R2 – problème d'optimization

Je rencontre un problème de performances avec le schéma actuel. J'ai donc construit un schéma équivalent pour résoudre le problème.

J'ai effectué quelques tests sur les deux schémas et les résultats sont difficiles à comprendre. Pour memory, datatables sont les mêmes.

Je reçois ce qui suit à partir du profileur lors de l'exécution de requests équivalentes sur les deux schémas.

Ancien schéma:

  • 1 300 000 lectures
  • 5000 CPU
  • 4 secondes d'exécution

Nouveau schéma:

  • 30 000 lectures
  • 3000 CPU
  • 6 secondes d'exécution

La différence semble être dans le plan de requête utilisé. L'ancien schéma a un parallélisme dans le plan de requête. Le nouveau schéma n'utilise pas le parallélisme.

  1. Est-ce que quelqu'un a fait face à des situations similaires (less IO / CPU mais plus de time d'exécution). Comment l'avez-vous résolu?

  2. Y a-t-il un moyen de forcer le parallélisme? J'ai joué avec des conseils de requête (http://msdn.microsoft.com/en-us/library/ms18171). Je suis capable d'arrêter le parallélisme sur l'ancien schéma mais je ne peux pas sembler que la requête sur le nouveau schéma utilise le parallélisme.

Merci d'avance.

Louis,

Actuellement, il n'y a aucun moyen de forcer le parallélisme dans SQL Server directement hors de la boîte, mais Adam Machanic a fait un peu de travail pour le faire.

http://sqlblog.com/files/folders/beta/entry29021.aspx

Pour en venir à votre première question, oui, nous avons déjà vu des cas semblables. Notez que Parallelism est lié à un processeur et c'est pourquoi vous voyez plus de time CPU mais less de time d'exécution car vous avez plusieurs threads qui font le travail pour vous.

http://www.simple-talk.com/sql/learn-sql-server/understanding-and-using-parallelism-in-sql-server/

Assurez-vous que les index sont en place et que les statistics sont mises à jour avec l'parsing complète. À long terme, il est préférable que Query Optimizer prenne les décisions tout seul, mais si vous voulez écraser les plans de QO, vous devrez peut-être append beaucoup plus de détails. Schéma, données et repro.

HTH