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?
10
A
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.
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
- 1. ActiveRecord findet vorhandene Tabellenindizes
- 2. Warum wirken sich Attributreferenzen bei der Python-Vererbung so aus?
- 3. Wann verwaltet MS-SQL Tabellenindizes?
- 4. Iframes wirken wie Bilder
- 5. Wie initialisiere ich eine Ansicht bei Verwendung des Navigationscontrollers
- 6. Wie Makefile mit Fehler bei der Verwendung einer Schleife beenden?
- 7. Wie vermeiden Sie überlappende Zeiträume bei der Verwendung einer Gruppierungsklausel?
- 8. Tabellenindizes mit Fluent NHibernate generieren
- 9. Fehler bei der Anzeige Ansicht
- 10. Authentifizieren bei Verwendung einer Subdomänenroute
- 11. Suchen, welche untergeordnete Ansicht bei Verwendung von UITapGestureRecognizer angeklickt wurde
- 12. Verwendung von User.IsInRole() in einer Ansicht
- 13. Codeigner-Problem bei Verwendung der statischen Eigenschaft in einer Klasse
- 14. Problem bei der Verwendung von MFMailComposeViewController
- 15. bei der Verwendung von EditorFor
- 16. WPF C# Schwierigkeiten bei der Verwendung einer Datenansicht und DataGrid
- 17. Wird find() jemals nichtdeterministisch wirken?
- 18. Behalten Sie Fehlermeldungen von der Validierung in Schienen bei der Weiterleitung zu einer neuen Ansicht bei?
- 19. Does mit IF LET wirken wie Schließung
- 20. leere Seite bei der Verwendung der Verwendung Schlüsselwort in PHP
- 21. Segmentierungsfehler bei Verwendung der Einfügesortierung
- 22. System.ArgumentNullException bei der Verwendung IncludeThen
- 23. NoMethodError bei der Verwendung von breadcrumbs_on_rails gem
- 24. Der Fehler bei der Verwendung WKWebViewConfiguration die Eigenschaft selectionGranularity zu .Character gesetzt werden keine Textauswahl Ansicht
- 25. Wie vermeide ich die Verwendung einer asynchronen Klasse bei der Verwendung von gwt dto?
- 26. data.table: Bypass-Setkey bei Verwendung der monotonen Transformation einer Schlüsselvariablen
- 27. Fehler bei der Herstellung von Leinwand Ansicht
- 28. Fehler bei der Verwendung der Aktualisierungsabfrage
- 29. Zugriff auf $ view-Objekt bei Verwendung von AJAX in einer Ansicht
- 30. Wie Debug Daten bei der Verwendung von JSON/AJAX
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? –
Der Punkt, eine indizierte Sicht zu haben, ist es, Ihre Sicht Lookups noch schneller, vor allem in Bezug auf die berechneten Felder. –
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. –