AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL-Abfrage auf per SQL ermittelte Datenmenge?
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-Abfrage auf per SQL ermittelte Datenmenge?

Ein Thema von worker · begonnen am 12. Jan 2009 · letzter Beitrag vom 12. Jan 2009
Antwort Antwort
worker
(Gast)

n/a Beiträge
 
#1

SQL-Abfrage auf per SQL ermittelte Datenmenge?

  Alt 12. Jan 2009, 13:35
Datenbank: Oracle • Version: 9i • Zugriff über: DOA
Hallo.

Ich führe mehrere Auswertungen auf Basis einer Tabelle aus.
Die Auswertungen bestehen aus teilweise recht umfangreichen SQL-Statements.
Ich möchte nun die Performance dieser Auswertungen erhöhen.
Einige Teile meiner SQL-Statements, und zwar genau die, die performancemässig teuer sind, sind für jede dieser Auswertungen identisch.

Jetzt dachte ich mir, hole ich mir doch erstmal diese 'Basisdatenmenge' und arbeite dann mit genau diesen Daten weiter. Ich setze also ein SQL-Statement ab, das genau die Felder enthält, die in allen Auswertungen gleich sind.
Das Ergebnis ist meine Basisdatenmenge.

Auf diese lasse ich dann die anderen Statements los.

Das Problem ist nun: wie kann ich diese 'Baisdatenmenge' zwischenspeichern, ohne sie in eine temporäre Tabelle zu schreiben? (Da ich mir die Basisdatenmenge auch schon dynamisch hole, scheidet ein View schonmal aus).

Gibt es vielleich ein memtable o.ä. welches SQL-Abfragen zulässt?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: SQL-Abfrage auf per SQL ermittelte Datenmenge?

  Alt 12. Jan 2009, 13:46
(Ich nehme an, du meinst serverseitig)
Es gibt in Oracle Records, Objekte, Arrays..

Du kannst auch die Funktionalität in ein Package schieben. Dort kannst du dann mehrere öffentliche und nichtöffentliche SPS verwenden und Felder.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: SQL-Abfrage auf per SQL ermittelte Datenmenge?

  Alt 12. Jan 2009, 14:03
Ich denke, er meint eher Clientseitig...

Ich habe ein Dataset welche die sogenannten Basisdaten holt. Auf dieses Dataset (welche die Daten oder Referenzen zu den Daten nun clientseitig vorhält) führe ich eine SQL-Anwendung aus.

Hatte mich auch schonmal gefragt, ob so etwas möglich ist.

Beispiel:

Basisdaten - "SELECT * FROM rechnungen WHERE ... ORDER BY ..." AS Basisdaten
LokaleZusatzabfrage - SELECT sum(summe) FROM Basisdaten;
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#4

Re: SQL-Abfrage auf per SQL ermittelte Datenmenge?

  Alt 12. Jan 2009, 14:07
Hallo Ihr beiden.

Ganz richtig: ich meine clientseitig.

Das Beispiel, welches nachti1505 bringt, trifft's eigentlich genau.

Optimal wäre halt ein memtable, in welches ich meine 'Basisdaten' schreibe, und auf welches ich dann weitere SQL-Abfragen durchführen kann.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

Re: SQL-Abfrage auf per SQL ermittelte Datenmenge?

  Alt 12. Jan 2009, 14:12
Hallo,

suchmal nach kbmMemTable, eventuell ist das was für Dich.
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#6

Re: SQL-Abfrage auf per SQL ermittelte Datenmenge?

  Alt 12. Jan 2009, 14:35
Hallo,

werde die Komponente mal ausprobieren; danke.
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#7

Re: SQL-Abfrage auf per SQL ermittelte Datenmenge?

  Alt 12. Jan 2009, 15:39
Leider unterstützt auch diese memTable keine SQL-Abfragen

Schade, dann werde ich wohl doch auf eine temporäre Tabelle zurückgreifen müssen.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

Re: SQL-Abfrage auf per SQL ermittelte Datenmenge?

  Alt 12. Jan 2009, 15:53
Hallo,

es gibt da noch http://www.aidaim.com/_lang/de/produ...table_spec.php, für gewerblich nicht kostenlos.

Eine temporäre Tabelle in der Datenbank hat aber durchaus ihre Vorteile.
Man kann sie mit 'nem passenden Index versehen, man kann auf ihr Statistiken erstellen (was bei großen Datenmengen schonmal das eine oder andere Stündchen an Laufzeit einsparen kann) und ein ordentlicher Datenbankserver kann Daten deutlich schneller zusammensuchen, als es ein (handelsüblicher) Client im Arbeitsspeicher kann.
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#9

Re: SQL-Abfrage auf per SQL ermittelte Datenmenge?

  Alt 12. Jan 2009, 15:59
Die Komponente sieht interessant aus; für mich privat jedenfalls.
Für mein aktuelles Problem in der Firma werde ich aber wohl wirklich auf eine temp. Tabelle gehen.

Nochmals danke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz