Seitenhistorie
Inhalt | ||
---|---|---|
|
Information
1) In jedem Fall die Daten in Blöcken (Chunks) holen!
2) Falls die ganze Tabelle eingelesen wird, OFFSET vermeiden, siehe Beispiel:
...
Codeblock |
---|
final long CHUNKSIZE = 5000;
|
...
long lastID = 0L; |
...
Map<UID, FieldMeta<?>> mpFields = metaProvider.getAllEntityFieldsByEntity(entity); |
...
DbQueryBuilder builder = dataBaseHelper.getDbAccess().getQueryBuilder(); |
...
for (;;) { |
...
DbCondition cond = builder.plainCondition("t.INTID > " + lastID); |
...
CollectableSearchCondition csc = new CollectableDbCondition(cond); |
...
CollectableSearchExpression cse = new CollectableSearchExpression(csc); |
...
Collection<EntityObjectVO<Long>> lstEOs = entityObjectFacade.getEntityObjectsChunk(entity, mpFields.values(), null, cse, 0L, CHUNKSIZE - 1); |
...
if (lstEOs.isEmpty()) { |
...
return;
|
...
|
...
}
|
...
for (EntityObjectVO<Long> eo : lstEOs) { |
...
....
|
...
...
|
...
lastID = eo.getPrimaryKey();
|
...
|
...
}
|
...
} |
Überblick
Inhalte