![]() |
AW: temporäre tabelle erstellen in stored procedure?
Zitat:
In der Frage steht das Wort "temporär" und dann noch "stored". Das widerspricht sich etwas. Ich speichere also etwas, was nur zu kurzzeitigem Gebrauch genutzt wird. Da stellt sich die Frage, warum ich das überhaupt anlege und wieder lösche. Und dazu die SP permanent in der DB haben ? Gehts vielleicht auch anders ? |
AW: temporäre tabelle erstellen in stored procedure?
Temporäre Tabellen machen schon Sinn. Wenn ich eine Tabelle mit vielen Datensätzen oder einen View mit Joins habe, können Berechnungen trotz Where-Klausel teilweise lange dauern.
Wenn man den interessanten Bereich erst insgesamt in eine Temporäre Tabelle Kopiert und dann seine Berechnungen auf diese anwendet kann man den ganzen Vorgang erheblich schneller machen. Ich konnte so den Faktor 10 und mehr erreichen. |
AW: temporäre tabelle erstellen in stored procedure?
Wie wärs damit:
Code:
(siehe dazu
create global temporary table MyConnGTT (
id int not null primary key, txt varchar(32), ts timestamp default current_timestamp ) on commit preserve rows; ![]() Wenn Du eh mit einer Stored Procedure arbeiten willst, tut's doch vielleicht auch ein
Code:
In dem die benötigten Daten zusammen geraffelt und bearbeitet werden?
FOR select_statement DO
compound_statement Eine temporäre Tabelle macht m.E. eher selten Sinn. Und ein TClientDataset zur Datenverarbeitung macht nur Sinn, wenn es der Server nicht kann, wenn mir Bandbreite und Laufzeit egal ist oder wenn ich meinen Verarbeitungs-Code verstecken muss/möchte. P.S.: Wichtig bei der Tabellendefinition ist der On Commit Teil. Lebensdauer Transaktion oder ganze Connection..? An der Stelle bist Du vielleicht gestolpert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz