SQL - CTE-vs ANZEIGEN

Meine Frage hier ist was ist der Unterschied zwischen CTE und View im SQL. Ich meine, in dem Fall sollte ich verwenden CTE und dem Fall der View. Ich weiß, die beiden sind eine Art virtuelle Tabellen, aber ich kann nicht unterscheiden, Ihrer Verwendung.

Fand ich eine ähnliche Frage hier aber es geht um Leistung.

Update 1:

Beispiel: ich habe eine Datenbank, gefüllt mit trades(tbl_trade). Ich brauche, um zu wählen von 3,5 Millionen Datensätze werden nur die trades, die geöffnet wurde, den aktuellen Monat, bis die aktuelle Zeit und dann die Daten manipulieren(mit verschiedenen Abfragen auf die virtuelle Tabelle - das sieht aus wie Ansicht). Das problem hier ist, dass ich möchte eine SUM 3-4 Spalten und dann muss ich SUM einige Spalten und erstellen Sie eine virtuelle Spalte mit dem Ergebnis(sieht aus wie CTE).

ZB: tbl_trade hat Spalten: profit,bonus und expenses.
Ich brauche SUM(profit),SUM(bonus),SUM(expenses) und eine neue Spalte total werden gleich SUM(profit)+SUM(bonus)+SUM(expenses).

PS. Erneutes ausführen des Querys für die SUM ist keine option, da ich bereits das Ergebnis.

Vielen Dank im Voraus!

  • Ein view ist ein Objekt in der Datenbank. Eine CTE existiert nur für die Dauer einer einzigen Abfrage. Sie scheinen sehr unterschiedlich. Können Sie ein Beispiel geben, zwischen Ihnen zu wählen?
  • Wie viel Daten, die Sie zu tun? CTE ausgiebig TempDb verwenden und wenn Ihr TempDb ist nicht richtig konfiguriert oder Ihre CTE ist der Umgang mit einer großen Anzahl von Zeilen, dann ist es nicht eine beste Wette. Wählen Sie "Ansicht" beim Umgang mit großen Datenmengen und CTE mit der kleinen. Sie können wählen, CTE, auch wenn Sie brauchen, Rekursion. Das ist alles !
  • Hallo und vielen Dank für Ihre Antworten. siehe die aktualisierte Fragen
  • überprüfen Sie meine aktualisierte Antwort.
InformationsquelleAutor BlackM | 2015-06-18
Schreibe einen Kommentar