Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 06/04/2010 12:24:54
- slash
- Membre
Performance VUE/Procédure stockée
Bonjour à tous,
Quelqu'un pourrait il m'éclairer sur ce sujet s'il vous plait? =>
J'ai une base de données embarquée sur un système Windows XP Embedded, sur laquelle je fais régulièrement des requêtes de jointures de jointure (un peu moins de 10 tables).
Ce processus est actuellement effectué par une procédure stockée, via laquelle je peux passer des arguments, de telle sorte a filtrer mon résultat.
Ma question :
Si, au lieu de faire la jointure des tables dans la procédure stockée, je l'effectue via une vue sur laquelle j'appliquerai mes filtres, est-ce que les performances (temps de reponse/charge CPU) seront plus faibles que par la méthode de la procédure stockée? Ou est-ce que j'aurai l'effet inverse?
D'avance merci,
Cordialement,
Mat
Hors ligne
#2 06/04/2010 12:46:11
- gleu
- Administrateur
Re : Performance VUE/Procédure stockée
Généralement, la vue sera plus performante car PostgreSQL pourra optimiser la requête complète (ie en intégrant la requête comprise dans la vue). Dans le cas de la procédure stockée, il n'y a pas d'optimisation possible.
Guillaume.
Hors ligne
#3 06/04/2010 12:53:21
- Marc Cousin
- Membre
Re : Performance VUE/Procédure stockée
Comme l'explique Guillaume, c'est la plupart du temps vrai. Sauf si la vue est écrite d'une façon qui empêche le moteur de 'pousser' les clauses WHERE à l'intérieur de la vue. Il y a quelques cas où la procédure stockée sera plus performante (mais il s'agit de cas très tordues avec des requêtes particulièrement alambiquées).
Marc.
Hors ligne
#4 06/04/2010 13:38:14
- slash
- Membre
Re : Performance VUE/Procédure stockée
Ok, merci beaucoup pour ces informations!
Hors ligne
#5 08/04/2010 14:34:13
- slash
- Membre
Re : Performance VUE/Procédure stockée
Bonjour,
je me rends compte que j'ai omis de parler de quelque chose :
La procédure stockée que j'utilise génère un curseur que j'utilise ensuite pour récupérer les données.
- Avec cette méthode, la procédure stockée a-t-elle des chances d'etre plus performante que la vue?
- Peut on faire des curseur sur des vues?
Hors ligne
#6 08/04/2010 19:08:37
- gleu
- Administrateur
Re : Performance VUE/Procédure stockée
- Avec cette méthode, la procédure stockée a-t-elle des chances d'etre plus performante que la vue?
Avec ou sans curseur, une procédure stockée peut être plus rapide qu'une vue.
- Peut on faire des curseur sur des vues?
Oui, à condition qu'avant l'exécution de la vue, vous soyez dans une transaction.
Guillaume.
Hors ligne
#7 09/04/2010 08:55:28
- slash
- Membre
Re : Performance VUE/Procédure stockée
Merci beaucoup!
Hors ligne
Pages : 1