Ich möchte eine Funktion schreiben die mir aus einer Datensatzmenge einen bestimmten Ausschnitt zurückliefert. Aber wie realisiere ich soetwas mit Spring am besten?
Pseudocode:
Ich könnte zwar "LIMIT" im SQL - Statment verwenden. Dieses wäre zwar wohl das effizienteste, ich weis nur nicht ob "LIMIT", das aus MySQL stammt, Standardisiert ist, also auch für andere Datenbanken gilt.
Eine andere alternative wäre setMaxRows() zu verwenden, womit ich zwar die maximalste Anzahl der Zeilen angeben kann, aber wie definiere ich den Offset, also den Startpunkt ab dem gelesen werden soll.
Deshalb meine Frage wie realisiere ich eine effiziente Art um auf aus einer Liste von 30 Mio Datenstäze ab einem bestimmten Datenzeile + n Datenzeile auslese?
Pseudocode:
Code:
public List<myTable> gets(int offset, int count) {
String sql = "SELECT * FROM mytable LIMIT " + offset + ", " + count;
List<myTable> mytable = getSimpleJdbcTemplate().query(sql, ParameterizedBeanPropertyRowMapper.newInstance(MyTable.class));
return mytable;
]
Ich könnte zwar "LIMIT" im SQL - Statment verwenden. Dieses wäre zwar wohl das effizienteste, ich weis nur nicht ob "LIMIT", das aus MySQL stammt, Standardisiert ist, also auch für andere Datenbanken gilt.
Eine andere alternative wäre setMaxRows() zu verwenden, womit ich zwar die maximalste Anzahl der Zeilen angeben kann, aber wie definiere ich den Offset, also den Startpunkt ab dem gelesen werden soll.
Deshalb meine Frage wie realisiere ich eine effiziente Art um auf aus einer Liste von 30 Mio Datenstäze ab einem bestimmten Datenzeile + n Datenzeile auslese?