90 votes

Performances des vues MySql

Si vous décidez d'utiliser des vues, comment pouvez-vous garantir de bonnes performances ?

Ou est-il préférable de ne pas utiliser les vues en premier lieu et d'incorporer l'équivalent dans vos déclarations de sélection ?

3voto

Nanne Points 35880

Si nous discutons de "l'utilisation des vues, comment garantir la performance", et non de l'effet des vues sur la performance en général, je pense que cela se résume à la retenue (comme dans le cas de vous-même).

Vous pouvez avoir de gros problèmes si vous écrivez des vues pour simplifier vos requêtes dans tous les cas, mais que vous ne veillez pas à ce que vos vues soient réellement utiles du point de vue des performances. Toutes les requêtes que vous faites à la fin devraient fonctionner normalement (voir l'exemple du commentaire de ce lien par @eggyal). Bien sûr, il s'agit d'une tautologie, mais elle n'en est pas moins valable.

Vous devez en particulier veiller à ne pas créer des vues à partir de vues, simplement parce que cela pourrait faciliter la création de cette vue.

En fin de compte, vous devez examiner la raison pour laquelle vous utilisez les vues. Chaque fois que vous faites cela pour vous faciliter la vie au niveau de la programmation, vous feriez mieux d'utiliser une procédure stockée.

Pour garder les choses sous contrôle, vous pouvez noter les raisons pour lesquelles vous avez un certain point de vue, et décider de la raison pour laquelle vous l'utilisez. Pour chaque "nouvelle" utilisation dans votre programmation, vérifiez à nouveau si vous avez réellement besoin de la vue, pourquoi vous en avez besoin, et si cela vous donnerait toujours un chemin d'exécution sain. Continuez à vérifier vos utilisations pour qu'elles restent rapides, et continuez à vérifier si vous avez vraiment besoin de cette vue.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X