Vous n'êtes pas identifié(e).
Pages : 1
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
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
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
Ok, merci beaucoup pour ces informations!
Hors ligne
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
- 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
Merci beaucoup!
Hors ligne
Pages : 1