sql >> Database teknologi >  >> RDS >> Oracle

Indstilling af en værdi for LIMIT, mens du bruger masseindsamling

Brug en implicit cursor i en cursor FOR LOOP. Det gør koden enklere, og standardværdien på 100 er næsten altid god nok.

Jeg har set mange mennesker spilde en masse tid på at bekymre sig om dette. Hvis du tænker over hvorfor bulk collect forbedrer ydeevnen, du vil forstå, hvorfor store tal ikke hjælper.

Bulk collect forbedrer ydeevnen ved at reducere kontekstskiftene mellem SQL og PL/SQL. Forestil dig det højst usandsynlige worst case-scenarie, hvor kontekstskifte bruger al køretiden. En grænse på 2 eliminerer 50 % af kontekstskiftene; 10 eliminerer 90%; 100 eliminerer 99 % osv. Plot det ud, og du vil indse, at det ikke er værd at finde den optimale grænsestørrelse:

Brug standarden. Brug din tid på at bekymre dig om vigtigere ting.




  1. Nysgerrig efter de seneste Microsoft Access-funktioner?

  2. Brug af String[] selectionArgs i SQLiteDatabase.query()

  3. Oracle som løsning af muterende tabeller

  4. Oracle join syntakseksempler