|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() Inscription : novembre 2002 Messages : 1 273 ![]() |
Salut,
J'ai un serveur avec une 10aine de bases. Sur une base j'ai 2 vues qui m'affichent les données de 2 systèmes, ce qui représentent environs 600 lignes par vue. J'ai 2 autres vues, qui se basent sur mes 2 vues citées plus haut, qui s'exécutent très lentement. mais quand je dis très c'est très lentement. mes vues de base s'executent très rapidement si je les lance individuellement. voilà le code : Code :
Je me demande si l'origine de l'a lenteur n'est pas le fait que la vue "VW_CC_DEVONPANO_DealFromDevon" n'est pas chargée à chaque record de ma vue "VW_CC_DEVONPANO_DealFromPano"
__________________
il vaut mieux prendre son pied que de se prendre la tête!! ![]() http://bossun.noxblog.com |
||
|
|
00
|
|
|
#2 |
![]() ![]() |
Question bateau : avez-vous rejoué les statistiques sur les tables utilisées par les vues ? Avez-vous fait un sp_recompile ensuite ?
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql Administrateur SAP Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums ! |
|
|
00
|
|
|
#3 |
![]() ![]() |
Il faudrait exécuter ces requêtes avec "set showplan on" pour voir le plan qui est utilisé. Ce plan montrera les accès aux tables sous-jaçante, avec les plans d'accès et identifiera les problèmes.
Michael
__________________
Michael Peppler Membre de TeamSybase - www.teamsybase.com "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Inscription : novembre 2002 Messages : 1 273 ![]() |
Salut,
Voilà le plan d'éxecution... Mais j'ai un peu de mal à voir où ça cloche. Code :
__________________
il vaut mieux prendre son pied que de se prendre la tête!! ![]() http://bossun.noxblog.com |
||
|
|
00
|
|
|
#5 | ||
|
Membre actif
![]() Inscription : août 2007 Messages : 134 ![]() |
Sinon, pour essayer de changer la stratégie d'accès, avez-vous essayé un:
Code :
Pourriez-vous aussi faire un 'set statistics io on' que l'on aie le nombre de scan de chaque index/tables? |
||
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Inscription : novembre 2002 Messages : 1 273 ![]() |
Salut Roller,
Alors le Not IN(SELEC *..) ne change rien.. toujours aussi lent.. Voilà les stats pour l'exec de la requete que tu suggéré.. Code :
__________________
il vaut mieux prendre son pied que de se prendre la tête!! ![]() http://bossun.noxblog.com |
||
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : août 2007 Messages : 134 ![]() |
13620199 de scans de la table instrument, de quoi manger pas mal de cpu.
Petit rappel: il faut éviter d'utiliser les vues car ça limite la possibilité de forcer l'ordre de jointure. Je n'ai pas eu le plan d'exécution avec le not in, ni celui d'un select(*) pour chacune des vues (êtes-vous sûr qu'elles ne ramènent que 600 lignes?) Il faudrait si possible l'accompagner du résultat du 'set statistics io on'. |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : novembre 2002 Messages : 1 273 ![]() |
au fait les tables qui composent mes 2 vues de base, contiennent plus de 200'000 lignes en moyenne..
je crois que je vais faire par une autre methode.. je vais faire mes tests dans une procédure en passant par des tables temporaires.. je vais remplir mes tables temporaires depuis mes vues et faire le test directement sur mes tables temporaires.. je vais voir si ça resoud mon problème.
__________________
il vaut mieux prendre son pied que de se prendre la tête!! ![]() http://bossun.noxblog.com |
|
|
00
|
|
|
#9 |
![]() ![]() |
Il doit manquer un certain nombre d'indexes...
Il faudrait voir le DDL de chacune des vues, et des tables sous-jacentes (y compris les indexes) pour pouvoir éventuellement donner quelques conseils. Michael
__________________
Michael Peppler Membre de TeamSybase - www.teamsybase.com "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : novembre 2002 Messages : 1 273 ![]() |
Je n'ai qu'un accès en lecture sur mes tables sous-jacentes. malheureusement je ne peux rien changer dessus...
Mais il est vrai que la conception de la base est quelques peu spéciale.. L'éditeur ouvre les accès à la base mais pour éviter de copier son schéma, il n'a intégré aucune relation, contrainte, etc.. je ne connais pas tout mais j'ai vu que c'était très très spécial. Sinon est-ce qu'on peut ajouter des indexes sur les vues?
__________________
il vaut mieux prendre son pied que de se prendre la tête!! ![]() http://bossun.noxblog.com |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com