2011-01-02 5 views
11

Was ist das Beste für Tabellen mit vielen Daten?Unterschied zwischen Ansichten und Tabellen in der Leistung

Ich habe eine gespeicherte Prozedur, die einen Bericht basierend auf einigen Filtern erstellt. In meinem SP lese ich die Tabelle und lege alle inneren Joins und Formeln dann in die Where-Bedingung, in die ich die Filter setze.

Über Leistung sprechen, was besser ist?

Erstellen Sie eine Ansicht mit allen Joins ODER lesen Sie die Tabelle (wie ich es tue)?

Antwort

14

Die Leistung hängt viel mehr davon ab, ob die entsprechenden Indizes vorhanden sind, als wenn Sie eine Ansicht oder einen direkten Tabellenzugriff verwenden, die sich (mit Ausnahme der materialisierten Ansichten) genauso verhalten.

4

Kommt drauf an.

Solange die Ansicht nicht Aggregationen enthält (oder Konstrukte, die Materialisierung ‚upfront‘ erforderlich ist), wird es genau die gleiche Leistung (und in vielen Fällen, wo durch die optimiser mit Kurzschlüssen Kriterien passiert) sein

Haben Sie in Ihren spezifischen Fällen ein Benchmarking versucht?

@ Otávio Décio schlug mich dazu, indem er erwähnte, dass die "richtigen" Indizes einen größeren Effekt auf die Leistung haben.

Verwandte Themen