Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Leistung von MySQL-Ansichten

Es kommt darauf an.

Es hängt ganz davon ab, was Sie durch die Ansicht betrachten. Aber höchstwahrscheinlich reduzieren Sie Ihren Aufwand und geben eine höhere Leistung. Wenn eine SQL-Anweisung auf eine nicht indizierte Ansicht verweist, analysieren der Parser und der Abfrageoptimierer die Quelle sowohl der SQL-Anweisung als auch der Ansicht und lösen sie dann in einem einzigen Ausführungsplan auf. Es gibt keinen Plan für die SQL-Anweisung und einen separaten Plan für die Ansicht.

Eine Ansicht wird nicht kompiliert . Es ist ein virtueller Tisch, der aus anderen Tischen besteht. Wenn Sie es erstellen, befindet es sich nicht irgendwo auf Ihrem Server. Die zugrunde liegenden Abfragen, aus denen sich die Ansicht zusammensetzt, unterliegen denselben Leistungssteigerungen oder -beeinträchtigungen des Abfrageoptimierers. Ich habe noch nie die Leistung einer Ansicht im Vergleich zur zugrunde liegenden Abfrage getestet, aber ich könnte mir vorstellen, dass die Leistung leicht variieren kann. Sie können eine bessere Leistung in einer indizierten Ansicht erzielen, wenn die Daten relativ statisch sind. Dies könnte das sein, was Sie vielleicht in Begriffen von "kompiliert" denken.

Vorteile von Ansichten:

  1. Die Daten anzeigen, ohne die Daten im Objekt zu speichern.
  2. Beschränken Sie die Ansicht einer Tabelle, d. h. Sie können einige Spalten in den Tabellen ausblenden.
  3. Füge zwei oder mehr Tabellen zusammen und zeige sie dem Benutzer als ein Objekt.
  4. Beschränken Sie den Zugriff auf eine Tabelle, sodass niemand die Zeilen in die Tabelle einfügen kann.

Siehe diese nützlichen Links:

  1. Leistung von VIEW vs. SQL-Anweisung
  2. Ist eine Ansicht schneller als eine einfache Abfrage?
  3. Mysql VIEWS vs. PHP-Abfrage
  4. Sind MySql-Ansichten dynamisch und effizient?
  5. Materialisierte Ansicht vs. Tabellen:Was sind die Vorteile?
  6. Fragt ab über eine Ansicht langsamer als die direkte Ausführung von SQL?
  7. Ein Workaround für die Leistungsprobleme von TEMPTABLE-Ansichten
  8. Erkennen Sie Leistungssteigerungen durch die Verwendung von indizierten Ansichten in SQL Server