2010-08-18 4 views
3

Je pensais utiliser des vues MySQL pour fournir une abstraction lors de l'extraction de données de la base de données. Comme je cherchais matériel à ce sujet, je suis tombé sur this article, qui se termine par:Considérations sur les performances lors de l'utilisation de MySQL VIEW

MySQL a du chemin à faire obtenir requêtes avec VIEWs correctement optimisé.

L'article est de 2007. Est-ce encore applicable? Par exemple: MySQL a-t-il résolu ces problèmes?

+0

Malheureusement, les mauvais codeurs existent encore aujourd'hui –

Répondre

1

Les vues MySQL fonctionnent très bien, mais elles fonctionnent mal dans la plupart des cas. En effet, l'introduction même d'une vue assez simple a tendance à provoquer un plan de requête bien pire à utiliser par l'optimiseur. Cela rend l'utilisation des vues peu pratique dans le cas général.

Souvent, le serveur matérialise l'ensemble de la vue en tant que table temporaire, ce qui n'est pas utile pour de bonnes performances (à moins qu'il ne contienne qu'un très petit nombre de lignes). Donc, si vous pensiez que le plan expliquer était correct sans vue, avec une vue, il peut tourner mal. Ceci est toujours non résolu dans la dernière version de développement de MySQL autant que je sache.

Vous pouvez avoir des vues, mais ne vous attendez pas à des performances décentes (c'est-à-dire acceptables).

Questions connexes