Une requête sur une vue plus lent que l'exécution de SQL directement?

Scénario:

J'ai 3 tables qui ont besoin d'être réunis, une clause where pour limiter le jeu de résultats, et à seulement quelques colonnes de chaque table en cours de sélection. Simple. Toutefois, la requête pour ce faire n'est pas très jolie, et lors de l'utilisation d'un ORM entre la base de données et l'application, son comme essayer de placer une cheville carrée dans un trou rond.

Ma façon de contourner cela est de créer une vue qui embrasse la requête et maintenant, mon modèle d'application des cartes directement à une vue dans la base de données; pas plus fou de la cartographie de la couche ORM.

Question:
En supposant qu'aucun des autres facteurs entrent en jeu ici, sera la requête sur la vue d'engager une quelconque des performances supplémentaires sanctions que je n'aurais pas touché si j'ai exécuté l'instruction SQL directement? - Ce n'est pas une vue indexée, supposons que la même clause where, garder cela simple.

Je suis amené à croire qu'une vue souffre d'une charge supplémentaire de "construit". Ma compréhension est que, avec tout le reste la même, les deux devraient avoir des performances identiques.

Préciser. Merci!

Dépend de votre base de données, et bien d'autres choses. Si c'est MySQL, la réponse est Oui, c'est plus lent, si.

OriginalL'auteur PAR | 2011-01-07