Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Ergebnis einer StoredProc innerhalb anderer StoredProc "zwischenparken" (https://www.delphipraxis.net/199039-ergebnis-einer-storedproc-innerhalb-anderer-storedproc-zwischenparken.html)

dataspider 21. Dez 2018 12:41

AW: Ergebnis einer StoredProc innerhalb anderer StoredProc "zwischenparken"
 
Zitat:

Zitat von Codehunter (Beitrag 1421623)
Firebird ist in manchen ingen anderen Datenbanken wie MariaDB usw. unterlegen. Bei MariaDB kann ich mit
SQL-Code:
CREATE TEMPORARY TABLE ´PARKPLATZ´ FOR SELECT DISTINCT ...
einen solchen Parkplatz bauen wie im Eingangspost angedacht. Bei Firebird ist das deutlich mehr Arbeit.

Ich denke aber, der Aufwand ist überschaubar...
SQL-Code:
CREATE GLOBAL TEMPORARY TABLE TMP$ID (
    ID PK NOT NULL) ON COMMIT PRESERVE ROWS;
ALTER TABLE TMP$ID
ADD CONSTRAINT PK_TMP$ID
PRIMARY KEY (ID);
In der SP dann:

SQL-Code:
delete from tmp$id; -- vorsichtshalber
insert into tmp$id select distinct 'id' from andereprozedur(irgendeinparameter);
for select * from a where not a.feld1 in (select id from tmp$id) into....
do
begin
end;
Das bringt aber nur viel, wenn die andereprozedur tatsächlich langsam ist.
Um das richtig abzuschätzen, müsste man wisse, was andereprozedur macht.
Wäre der Select in andereprozedur ein indexierter mit 10 Reads bei 10 Zeilen Rückgabe, dann kannst du alles lassen wie es ist.

Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 Uhr.
Seite 3 von 3     123   

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