Vraag : De Veranderingen van prestaties in een DB2 programma

Hallo hebben allen,

We een archiefprogramma gebruikt waar wij een lijst van lijsten hadden geïdentificeerdo die het archiveren vergde. De oudere benadering was:

1) Gehad een programma van COBOL dat van lijsten één lijst bij een time.
2) de lijsten met minder verslagen gebruikend één enkele schrapping werden geschrapt. SCHRAP B.v. VAN TABLE_FIRST WAAR DATUM < HUIDIGE DATE
3) voor lijsten met significant aantal verslagen wij een curseur hadden die verslagen haalde. Voor elk gehaald verslag stelden wij een schrapping query.
4) in werking toen de HAAL voor de curseur in werking werd gesteld, haalden wij tegelijkertijd 5000 rijen b.v. HAAL CSR_CURSOR VOOR 5000 RIJEN. Het gegeven werd opgeslagen in een serie met 5000 rijen. De verslagen werden gelezen van de serie in een tijd en de schrapping werd uitgevoerd gebruikend deze waarden. Nadat de eerste 5000 rijen worden geschrapt, halen wij het volgende blok van 5000 voor dit jaar table.

This wij een vereiste hebben waarin wij zijn gevraagd om de lijst-specifieke harde codage uit het programma te verwijderen. Wij moeten een lijstdossier creëren dat een lijst van te schrappen lijst bevat en de criteria die voor schrapping moeten worden gebruikt. Dit vereiste een revisie aan ons programma. Dit is de benadering wij waarvoor nu hebben:

1) wij voeren de schrapping tegelijkertijd op de lijsten uit. Een cl- programma wordt in werking gesteld aan gelezen van het lijstdossier en voor elke lijst maakte een lijst van een schrapping programma is submitted.
2) het schrappingsprogramma een dynamisch DB2 programma is van COBOL waarin wij eerst te weten komen de primaire sleutel voor een table.
3) een UITGEZOCHTE vraag gebruikt de gebieden in primaire key.
4) wij wordt VOORBEREID SQLDA gebruikt om opslagadres voor de verschillende reeks primaire sleutels te laden die occur.
5) voor elk verslag dat wordt gehaald (gebruikend Th primaire zeer belangrijke waarden) kan, stellen wij een verklaring van de SCHRAPPING in werking. De verklaring van de HAAL is HAAL CSR_CURSOR die BESCHRIJVER GEBRUIKT: SQLDA.

What ik niet het gebruiken van de verklaring van de HAAL in point# 5 kan bereiken moet voor 5000 RIJEN HALEN. Het is mijn begrip dat ik betere prestaties zal krijgen als ik in blokken van 5000 (dit is enkel een random number dat wij) hebben gekozen HAAL en SCHRAPPING voor elk van de 5000 verslagen gehaald dan in werking stellend een eenvoudige HAAL en in werking stellend een SCHRAPPING voor elk verslag in werking stel dat door de HAAL is teruggekeerd. />Please

Thanks voor de hulp.

Regards
Ali.

Antwoord : De Veranderingen van prestaties in een DB2 programma

Ik denk dit een littlle zou kunnen zijn gemakkelijker dan u realiseerde -- u kunt een unie tussen de twee temperaturenlijsten doen en gedaan het roepen:
-- Hier is de inhoud van uw definitieve lijst…
Selecteer Col1 Col2 Col3 Col4 Col5 Col6 Col7 het Land van DSTRecID
van DBO.PROC1_TBL
unie
selecteer Col1 Col2 Col3 Col4 Col5 Col6 Col7 het Land van DSTRecID
van DBO.PROC2_TBL

-- U kunt het in uw definitieve lijst opnemen zoals:
Tussenvoegsel in dbo.final_table (Col1 Col2 Col3 Col4 Col5 Col6 Col7 het Land van DSTRecID)
Selecteer Col1 Col2 Col3 Col4 Col5 Col6 Col7 het Land van DSTRecID
van DBO.PROC1_TBL
unie
selecteer Col1 Col2 Col3 Col4 Col5 Col6 Col7 het Land van DSTRecID
van DBO.PROC2_TBL


Andere oplossingen  
 
programming4us programming4us