Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Inhalt
maxLevel2

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();

...

 

...

}
      

...

 }