Temporäre Tabellen in Abfragen

21/11/2008 - 10:24 von Lutz Uhlmann | Report spam
Hi NG!

Wieder ein kleines Frage/Antwort-Spiel.

Ich habe mein BE ja auf SQL-Server umgestellt.
Bei bestimmten Auswertungen habe ich die Auswahl anzuzeigender Datensàtze in
einer lokalen Tabelle im Frontend hinterlegt und diese mit den
Original-Abfragen/Tabellen verknüpft.

SELECT a_original.*
FROM lokTab INNER JOIN a_original ON lokTab.ID = a_original.ID

Mit der Umstellung auf SQL-Server habe ich "a_original" in selbigen
verschoben und im FE verknüpft.
Obiger SELECT funktioniert also weiterhin im Frontend...

Allerdings würde ich gern die Performance erhöhen, indem ich die temp.
Tabelle auch auf dem Server anlege und so den SELECT auf dem Server
ausführen kann.
Allerdings müßte ich diese temporàre Tabelle für jede Sitzung anlegen, da
z.B. in zwei gleichzeitigen Sitzungen unterschiedliche IDs hinterlegt werden
können.
lokTab_Sitzung1
1, 2, 3, 5
lokTab_Sitzung2
1, 3, 4, 6, 7
Letzter Haken an dieser Geschichte ist, alle Sitzungen loggen sich mit
demselben Nutzer ein (fest in der Anwendung hinterlegt).

Hoffe ihr könnt mein Problem nachvollziehen und habt evtl die ein oder
andere Idee ...

Ich weiß auch, daß es temporàre Tabellen gibt. Wie verhàlt es sich da mit
den Namen? Kann ich für jede Sitzung eine temporàre Tabelle gleichen Namens
anlegen?
Und wir könnt ich diese temporàren Tabellen am besten dafür nutzen? Und
bedeutet Sitzung in diesem Fall Connection?

Lutz
 

Lesen sie die antworten

#1 Siegfried Schmidt
21/11/2008 - 12:19 | Warnen spam
Hallo Lutz,

Allerdings müßte ich diese temporàre Tabelle für jede Sitzung anlegen,
da z.B. in zwei gleichzeitigen Sitzungen unterschiedliche IDs
hinterlegt werden können.
Letzter Haken an dieser Geschichte ist, alle Sitzungen loggen sich mit
demselben Nutzer ein (fest in der Anwendung hinterlegt).



Du kannst alles in eine Tabelle packen. Zur Unterscheidung muss nur eine
zusàtzliche Spalte rein, die als Defaultwert eine eindeutige
Identifizierung der Clientverbindung erlaubt, z.B. die server process ID.
Über die können Client und Server dann auf ihre eigenen Daten zugreifen.

Um zu vermeiden, dass sich die Tabelle durch Verbindungsabbrüche unnötig
füllt, sollten verwaiste IDs beim Backup periodisch aufgeràumt werden.



Siegfried
http://www.schmidt.ath.cx

Ähnliche fragen