Hallo allerseits
Ich habe eine Applikation, welche Daten in Apache Derby speichert. Nun zeige ich an einigen Orten in meiner Applikation Grids mit Datensätzen aus. Dort werden jeweils nur 20 Einträge angezeigt, der User kann dann weiterblättern. Im Moment werden beim Aufstarten der Maske (GWT-Maske im Browser) sämtliche Datensätze ausgelesen und über das Netzwerk an den Browser gesendet (Remote Procedure Call). Das ist nicht gerade performant.
Bei MySQL gibt es z.B. einen LIMIT-Parameter beim SELECT-Befehl. So kann ich immer nur z.B. 20 Datensätze auf einmal auslesen. Nun könnte ich z.B. ein folgendes Query erstellen:
So könnte ich z.B. immer die letzte ID übergeben, die in meinem Grid angezeigt wird.
Wie kann man sowas bei Apache Derby lösen? Der LIMIT-Operator scheint nämlich zu fehlen (kein SQL-Standard?). Gibt es dafür einen Ansatz, bei dem ich nicht immer die ganze Tabelle auslesen und dann die Einträge im Java-Code durchrattern muss?
Vielen Dank für die Hilfe!
Ich habe eine Applikation, welche Daten in Apache Derby speichert. Nun zeige ich an einigen Orten in meiner Applikation Grids mit Datensätzen aus. Dort werden jeweils nur 20 Einträge angezeigt, der User kann dann weiterblättern. Im Moment werden beim Aufstarten der Maske (GWT-Maske im Browser) sämtliche Datensätze ausgelesen und über das Netzwerk an den Browser gesendet (Remote Procedure Call). Das ist nicht gerade performant.
Bei MySQL gibt es z.B. einen LIMIT-Parameter beim SELECT-Befehl. So kann ich immer nur z.B. 20 Datensätze auf einmal auslesen. Nun könnte ich z.B. ein folgendes Query erstellen:
Code:
SELECT * FROM foo WHERE id > ? LIMIT 20
So könnte ich z.B. immer die letzte ID übergeben, die in meinem Grid angezeigt wird.
Wie kann man sowas bei Apache Derby lösen? Der LIMIT-Operator scheint nämlich zu fehlen (kein SQL-Standard?). Gibt es dafür einen Ansatz, bei dem ich nicht immer die ganze Tabelle auslesen und dann die Einträge im Java-Code durchrattern muss?
Vielen Dank für die Hilfe!