Frage

In bestimmten Bereichen in meiner Anwendung muß ich Daten aus mehreren Tabellen in der Datenbank (Ich habe eine Anwendung, die Anwendung viele Attribute hat, hat jedes Attribut mehrere Definitionen, und jede Definition einen Wert). Ich brauche die Daten aus allen diesen Tabellen für eine Anwendung. Soll ich eine Ansicht (eine, die ziemlich groß sein würde) verwenden oder Unterabfragen für die Datensätze der Auswahl? Im Fall von Unterabfragen ist das Optimierungsprogramm der Lage, effizient zu arbeiten? Ich bin auch daran interessiert, wenn das Caching für Unterabfragen arbeiten.

War es hilfreich?

Lösung

Ansichten sind in der Regel an Ort und Stelle in Subqueries erweitert, wenn Sie nicht ausdrücklich die Ansichten von als beharrte markieren auf sie einen Clustered-Index fallen.

Andere Tipps

Dies ist eine ‚Es hängt davon ab‘ Frage. Ein Blick könnte helfen, den Code besser verwaltbar aber komplexe Auswahl Prädikate machen könnten den optimiser verwirren.

Eine weitere Option ist eine gespeicherte Prozedur, die einen Datensatz zurückgibt. Wenn Sie eine Unterabfrage mehrmals wiederverwenden können Sie einige Kilometer von bekommen die Abfrage Aufspaltung, die Unterabfrage in eine temporäre Tabelle auswählen und die Teile in einem späteren Schritt kombiniert werden.

Ohne eine genauere Beschreibung des Problems, es ist schwer, um wirklich eine sinnvolle Antwort zu geben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top