Hallo Herr Kosch,
suche schon seit längerem nach einer Lösung.
Es geht um eine gut funktionierende Transactionskontrolle bei Select - Zugriffen.
Grundkonzept sollte sein : Bei Verwendung von DBGrids werden max. 15 DS in eine
MemTable eingelesen. Nach dem Einlesen wird die Transaction sofort per Commit geschlossen.
Schreibzugriffe (Änderungen an Einzelsätzen) werden grundsätzlich über TIBSQL per Commit
an den Server übertragen. Um die Navigation im Datenbestand zu erleichetern, wird dem User
angeboten, Filter über Where - Klauseln zu setzen und/oder Sortierungen mittels "order by"
vorzunehmen. Damit beginn mein Problem : Solange die Hauptabfrage nur in einer Sortierung
vorliegt, ist es relativ einfach, über z.B einen in einer Procedure implementierten Zähler
die nächsten oder vorherigen 15 DS einzulesen. Wie bekomme ich es aber geregelt, genau die
nächsten oder auch vorherigen 15 DS einzulesen, wenn sich die where - Bedingung oder auch
die order by - Bedingung ändert. Die Anzahl der gefetchten DS kann ich über 'loadlimit'
einstellen. Ich suche also nur nach einer Lösung für den richtigen Aufsatzpunkt der
"Anschluß" - Abfrage. Bisher lasse ich alle DS über das Select in die Memtable
laufen. Das kann natürlich langfristig keine Lösung sein, weil die Performance
ist bescheiden.
Gruß
DieGel
suche schon seit längerem nach einer Lösung.
Es geht um eine gut funktionierende Transactionskontrolle bei Select - Zugriffen.
Grundkonzept sollte sein : Bei Verwendung von DBGrids werden max. 15 DS in eine
MemTable eingelesen. Nach dem Einlesen wird die Transaction sofort per Commit geschlossen.
Schreibzugriffe (Änderungen an Einzelsätzen) werden grundsätzlich über TIBSQL per Commit
an den Server übertragen. Um die Navigation im Datenbestand zu erleichetern, wird dem User
angeboten, Filter über Where - Klauseln zu setzen und/oder Sortierungen mittels "order by"
vorzunehmen. Damit beginn mein Problem : Solange die Hauptabfrage nur in einer Sortierung
vorliegt, ist es relativ einfach, über z.B einen in einer Procedure implementierten Zähler
die nächsten oder vorherigen 15 DS einzulesen. Wie bekomme ich es aber geregelt, genau die
nächsten oder auch vorherigen 15 DS einzulesen, wenn sich die where - Bedingung oder auch
die order by - Bedingung ändert. Die Anzahl der gefetchten DS kann ich über 'loadlimit'
einstellen. Ich suche also nur nach einer Lösung für den richtigen Aufsatzpunkt der
"Anschluß" - Abfrage. Bisher lasse ich alle DS über das Select in die Memtable
laufen. Das kann natürlich langfristig keine Lösung sein, weil die Performance
ist bescheiden.
Gruß
DieGel
Comment