2009-12-17 5 views
10

Ich habe eine Ansicht, die Daten aus mehreren Tabellen sammelt. Obwohl es keine Indizes für die Ansicht selbst gibt, scheint alles, was die Ansicht verwendet, von den zugrunde liegenden Tabellen mit Indizes zu profitieren. Werden diese automatisch verwendet? Wenn es dann darauf ankommt, Indizes für Ihre Ansichten zu erstellen? Alle empfohlenen Artikel zu diesem Thema wären willkommen.Wie wirken Tabellenindizes bei der Verwendung einer Ansicht?

Antwort

9

Ja, die zugrundeliegenden Tabellenindizes werden automatisch verwendet - eine Ansicht ruft nur die Daten aus den zugrunde liegenden Tabellen ab.

In Bezug auf die Vorteile des Erstellens von Indizes für eine Ansicht, siehe this MS Technet article. Kleiner Auszug:

Verwendung von Indizes zur Verbesserung der Abfrage Leistung ist kein neues Konzept; jedoch bieten indizierte Ansichten zusätzliche Leistungsvorteile, die nicht mit Standard- Indizes erreicht werden können. Indizierte Sichten können Abfrageleistung in der folgenden Weise erhöhen:

  • Aggregationen können im Index vorberechnet und gespeichert werden teure Berechnungen während der Abfrageausführung zu minimieren.
  • Tabellen können vorgemischt und der resultierende Datensatz gespeichert werden.
  • Kombinationen von Joins oder Aggregationen können gespeichert werden.
+1

Also was ist der Sinn von indizierten Ansichten? Zur Verbesserung der Einfüge-/Aktualisierungsleistung in der Tabelle selbst, während Sie immer noch Indizes der Daten haben, die Sie benötigen? –

+0

Der Punkt, eine indizierte Sicht zu haben, ist es, Ihre Sicht Lookups noch schneller, vor allem in Bezug auf die berechneten Felder. –

+1

Um es anders auszudrücken, ein Index ist eine kleine Zusammenfassung eines größeren Datenkörpers, Ihrer Tabellen. Wenn Sie eine indizierte Sicht erstellen, verschwenden Sie nicht einmal Ihre Zeit mit großen Rohtabellen und deren Indizes; Sie bekommen genau das, was Sie wollen und schnell, nicht mehr und nicht weniger. –

2

Der Abfrageoptimierer schreibt die Abfrage und „verflacht“ die Verwendung von Unterabfragen (die eine Ansicht wirklich ist). Es werden also zugrunde liegende Indizes verwendet.

Verwandte Themen