Wiederverwendung eine table-variable?

Ich bin mit einer Liste von komplexen Abfrage auf eine Datenbank, die für bestimmte datetime Zeitraum (D. H. 05/01/2012 zu 05/31/2012). Dann brauche ich die selben Abfragen für 06/01/2012 zu 06/30/2012. dann kommen die Ergebnisse für den Bericht Zweck.

in den Abfragen verwendet habe ich mehrere Tabellen von Variablen zu halten, werden die temporären Daten. Weil die Datenbank zu groß ist, ist die Tabelle " variable Größe ist groß auch. Gibt es eine Möglichkeit, die ich wiederverwenden kann diese Tabelle Variablen?

DROP, Truncate wird nicht funktionieren. Muss ich alle Daten löschen aus @table? Wenn dem so ist, wird es langsam sein? Muss ich TUN, batch löschen für das @ - Tabelle, da hat es viele Daten?

BTW, ich haben, um alle Abfragen in eine SP-Datei kann nicht rufen Sie die Funktion oder andere SP wegen der Art, wie das system entwickelt wurde.

Dank

=============================

gibt es keine Schleife, in der Fragen. es funktioniert wie:

wählen ..... wählen Sie ..... update ..... join ......

tun, einen Satz von Abfragen für Datums-05/01/2012 zu 05/31/2012. dann müssen Sie den gleichen Satz von Abfragen für 06/01/2012 zu 06/30/2012.

in den queries, es sind viele logische im inneren, so wir können nicht kombinieren diese 2 in einem Satz von Abfragen. wegen system entwickelt, können wir nicht rufen Sie die Funktion oder SP für die Abfrage. zu tun haben, der 1. Satz-Abfrage, dann die 2. Abfrage in der Reihenfolge.

das problem ist es gibt zu viele Daten, die @Tisch ist zu groß. wenn wir wiederverwenden können @Tabelle, es wird das problem lösen.

Dank

===============================

ja, jetzt, gleiche codes, wiederholen Sie zweimal für 2 unterschiedliche datetime-Intervall. jedoch, in den code, es hat einige logische innen, verschiedene Prozess auf der Grundlage der Differenz zwischen datetime. Sorry, ich kann nicht nach dem tatsächlichen code. Aber, der Prozess ist wie ein SP mit verschiedenen datetime Zeit als Parameter.

Aber ich kann nicht mit SP/Funktion in diesem Fall, so müssen hard-code der gleiche code zweimal. im Idealfall benötigen, verwenden Sie verschiedene @ - Tabelle für jedes mal, wenn ich wiederholen Sie den code (jetzt muss ich wiederholen 3 mal), aber wegen der Größe der Daten, @Tabelle ist zu groß, wenn ich 3mal wiederholen (benötigt mehrere @ - Tabelle in der jeder zu tun, der logische Teil).

vielleicht hatte ich besser eine temporäre Tabelle? so kann ich es ablegen, wenn Sie beginnen, eine neue 'wiederholen'?

Dank

  • Vielleicht könnten Sie zeigen Sie Ihren code. Die Wiederverwendung eine table-variable impliziert eine Schleife, die ist wahrscheinlich nicht nötig. Und sogar mit einer Schleife eine table-variable kann nicht notwendig sein. Scheint es kann viele Schichten diese Zwiebel. Die mehr peeling Sie für uns tun, desto besser sind Ihre end-Lösung werden.
  • Ich verstehe nicht die Logik, dass Sie es gebucht. select...select...update...join - was bedeutet das? Wie gehen Sie von Mai bis Juni? Wie funktioniert Ihr code kennen, um die Ausführung von berichten für die zwei Monate? Sie haben zwei fast identische Abfragen hart-codiert mit diesen Daten?
  • Ich denke, Sie versuchen-zu-micro-optimieren hier. Leider aufgrund der Abfrage design-Entscheidungen, das wird sein, wie rasieren ein yak die Beine, um ihn schneller schwimmen.
InformationsquelleAutor urlreader | 2012-07-23
Schreibe einen Kommentar