Einführung in logische Ansichten

Dieses Dokument bietet eine Übersicht über die BigQuery-Unterstützung für logische Ansichten. Eine Ansicht ist eine virtuelle Tabelle, die durch eine SQL-Abfrage definiert wird. Der Standardtyp von Ansichten für BigQuery ist eine logische Ansicht. Abfrageergebnisse enthalten nur die Daten aus den Tabellen und Feldern, die in der Abfrage angegeben sind, in der die Ansicht definiert wird.

Die Abfrage, die eine Ansicht definiert, wird jedes Mal ausgeführt, wenn die Ansicht abgefragt wird.

Häufige Anwendungsfälle für Ansichten sind:

  • Einen wiederverwendbaren Namen für eine komplexe Abfrage oder eine begrenzte Datenmenge bereitstellen, für die Sie dann andere Nutzer autorisieren können. Nachdem Sie eine Ansicht erstellt haben, kann ein Nutzer sie dann abfragen wie eine Tabelle.
  • Abstrakte und Speicherberechnung und Join-Logik in einem gemeinsamen Objekt, um die Abfragenutzung zu vereinfachen
  • Zugriff auf eine Teilmenge von Daten und Berechnungslogik gewähren, ohne Zugriff auf die Basistabellen zu gewähren.
  • Abfragen mit hohen Rechenkosten und kleinen Datasets für verschiedene Anwendungsfälle optimieren.

Sie können Ansichten auch in anderen Kontexten verwenden:

Einen Vergleich von logischen, materialisierten und autorisierten Ansichten finden Sie unter Übersicht über logische und materialisierte Ansichten.

Einschränkungen für logische Ansichten

BigQuery-Ansichten unterliegen den folgenden Beschränkungen:

  • Ansichten sind schreibgeschützt. Sie können beispielsweise keine Abfragen ausführen, die Daten einfügen, aktualisieren oder löschen.
  • Wenn Ihre Ansicht auf Tabellen aus Remote-Standorten verweist, müssen Sie globale Abfragen aktivieren, bevor Sie die Ansicht erstellen.
  • Ein Verweis innerhalb einer Ansicht muss mit einem Dataset qualifiziert sein. Das Standard-Dataset hat keinen Einfluss auf einen Ansichtstext.
  • Die JSON API-Methode TableDataList kann nicht zum Abrufen von Daten aus einer Ansicht verwendet werden. Weitere Informationen finden Sie unter Tabledata: list.
  • Bei Verwendung von Ansichten können GoogleSQL- und Legacy-SQL-Abfragen nicht kombiniert werden. Eine GoogleSQL-Abfrage kann nicht auf eine Ansicht verweisen, die mit der Legacy-SQL-Syntax definiert ist.
  • Sie können in Ansichten keine Abfrageparameter referenzieren.
  • Die Schemas der zugrunde liegenden Tabellen werden beim Erstellen der Ansicht mit dieser gespeichert. Wenn Spalten nach dem Erstellen der Ansicht hinzugefügt, gelöscht oder geändert werden, wird die Ansicht nicht automatisch aktualisiert. Das gemeldete Schema bleibt so lange ungenau, bis die SQL-Definition der Ansicht geändert oder die Ansicht neu erstellt wird. Auch wenn das gemeldete Schema ungenau sein könnte, geben die übermittelten Abfragen doch genaue Ergebnisse zurück.
  • Sie können eine Legacy-SQL-Ansicht nicht automatisch auf die GoogleSQL-Syntax aktualisieren. Zum Ändern der Abfrage zum Definieren einer Ansicht verwenden Sie Folgendes:
  • Es ist nicht möglich, eine temporäre benutzerdefinierte Funktion oder eine temporäre Tabelle in die SQL-Abfrage aufzunehmen, die eine Ansicht definiert.
  • In der Abfrage einer Platzhaltertabelle kann keine Ansicht referenziert werden.

Kontingente für logische Ansichten

Informationen zu Kontingenten und Limits für Ansichten finden Sie unter Limits von Ansichten. Für SQL-Abfragen, die zur Definition von Ansichten verwendet werden, gelten auch die Kontingente für Abfragejobs.

Preise für logische Ansichten

In BigQuery werden standardmäßig logische Ansichten und keine materialisierten Ansichten verwendet. Da Ansichten standardmäßig nicht materialisiert werden, wird die Abfrage, die die Ansicht definiert, jedes Mal ausgeführt, wenn die Ansicht abgefragt wird. Abfragen werden anhand der Gesamtmenge der Daten in allen Tabellenfeldern abgerechnet, auf die in der Abfrage der obersten Ebene direkt oder indirekt verwiesen wird.

Sicherheit für logische Ansichten

Informationen zum Steuern des Zugriffs auf Ansichten in BigQuery finden Sie unter Autorisierte Ansichten.

Nächste Schritte