Maison >base de données >tutoriel mysql >Quand les vues indexées surpassent-elles les requêtes qui les créent ?

Quand les vues indexées surpassent-elles les requêtes qui les créent ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-15 22:52:48761parcourir

When Do Indexed Views Outperform the Queries That Create Them?

Vues et requêtes : une comparaison des performances

Une question clé concernant l'efficacité des bases de données concerne la différence de performances entre l'utilisation d'une vue et l'exécution de la requête brute équivalente. Plus précisément : une requête de vue simple (SELECT * FROM myView) surpasse-t-elle sa requête de définition (SELECT * FROM ([query creating myView's result set])) ?

Comprendre cela nécessite d'examiner les distinctions fondamentales entre les vues et les requêtes. Les vues sont des tables virtuelles, représentant un sous-ensemble de données sans stockage physique. Les requêtes, à l'inverse, récupèrent les données de manière dynamique.

Vues indexées : le changement de jeu en matière de performances

Alors que les vues de base offrent des gains de performances minimes, les vues indexées améliorent considérablement l'efficacité. La documentation de Microsoft souligne que les vues indexées :

  • Matérialiser : Lors de la création de l'index, les résultats sont physiquement stockés, éliminant ainsi les calculs d'exécution.
  • Optimisation des requêtes : L'optimiseur de requêtes peut remplacer les références de table moins efficaces par la vue indexée.

Documentation de Microsoft : preuves concrètes

La documentation de Microsoft SQL Server indique explicitement que la création d'un index clusterisé unique sur une vue matérialise et conserve son jeu de résultats, évitant ainsi un traitement d'exécution coûteux. De plus, la documentation souligne que l'optimiseur de requêtes peut utiliser directement une vue indexée ou la remplacer dans un plan de requête pour des performances optimales.

Scénario du monde réel : l'avantage de la vue indexée

Prenons l'exemple d'une société mondiale de logiciels avec des millions de records de ventes. Une vue indexée contenant uniquement les données de ventes lituaniennes accélérerait considérablement la récupération des données pour cette région spécifique. La profondeur de l'index passerait de 21 (Log2(1,000,000 )) sans la vue indexée à 7 (Log2(100)) avec elle, soit une multiplication par trois des performances.

Vues indexées : plus que de simples index glorifiés

L'idée selon laquelle les vues indexées sont simplement des index améliorés sur les tables sous-jacentes est inexacte. La documentation Microsoft précise que les vues indexées offrent des avantages en termes de performances inaccessibles avec les index standard.

Conclusion : les vues indexées règnent en maître

Bien que les vues simples n'offrent pas d'améliorations substantielles des performances, les vues indexées offrent des avantages considérables. Leurs résultats matérialisés, leur stockage persistant et leur intégration avec l'optimisation des requêtes se traduisent généralement par des performances supérieures par rapport à leurs requêtes de définition. Par conséquent, les vues indexées s’avèrent inestimables pour l’amélioration des performances.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn