Om Brukerhåndbok i Query/400 - IBM
Om Brukerhåndbok i Query/400 - IBM
Om Brukerhåndbok i Query/400 - IBM
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Tilgangsbaner for valg/utelatelse<br />
Bruk CRTLF-kommandoen til å lage tilgangsbaner med valg-/utelatelsestester som er oppgitt i DDS.<br />
Oppgi valg-/utelatelsestestene slik at de er i samsvar med deler av eller alle utvelgelsestestene fra en eller<br />
flere spørringer. Du får større yteevne hvis du oppgir en tilgangsbane som finnes fra før. <strong>Query</strong> slipper da<br />
å bruke tid på å finne en tilgangsbane eller bygge en ny.<br />
Du kan også spare tid på å bruke tilgangsbaner for valg/utelatelse når du definerer en spørring, fordi<br />
utvalgs- og sorteringstestene som er oppgitt i tilgangsbanen ikke behøver å bli gjentatt i definisjonen av<br />
spørringen.<br />
Merk:<br />
<strong>Query</strong> kan bruke en tilgangsbane for valg/utelatelse selv om den ikke er oppgitt i feltet Oppgi filvalg<br />
i spørringen. Hvis tilgangsbanen imidlertid er laget ved hjelp av nøkkelordet DYNSLT (Dynamic<br />
Selection) i DDS, blir yteevnen ikke større enn om du bruker tilgangsbaner for ikke-valg/utelatelse.<br />
Tilgangsbanen for valg/utelatelse kan brukes hvis den består av et overordnet sett med<br />
valgkriterier. Hvis for eksempel valgkriteriene oppgir banen 'X GT 45' og en tilgangsbane for<br />
valg/utelatelse (logisk fil) inneholder 'X GT 40', kan den eksisterende logiske filen bli valgt under<br />
optimaliseringen.<br />
Hensyn å ta når du lager tilgangsbaner<br />
Du kan ikke bruke alle tilgangsbaner med alle spørringer. Lag derfor tilgangsbaner som du bruker ofte,<br />
enten til en spørring som blir kjørt ofte eller til flere spørringer som kan ha samme tilgangsbane. Det står<br />
mer om hvilke tilgangsbaner <strong>Query</strong> kan bruke og andre tips om hvordan du definerer spørringer for å<br />
forbedre yteevnen, i avsnittet “Definere spørringer” på side 240.<br />
Det lønner seg å lage så få tilgangsbaner som mulig av flere grunner:<br />
v Når du endrer et felt i en database, blir alle tilgangsbanene for dette feltet oppdatert. Dette fører til<br />
lavere yteevne for flere tilgangsbaner.<br />
v Det kan ta betraktelig mer tid å ta sikkerhetskopi og gjenopprette hvis det er lagret mange tilgangsbaner<br />
sammen med filene.<br />
I tillegg til tipsene du får her, bør du også ta hensyn til to andre regler når du skal velge tilgangsbane for<br />
en bestemt fil:<br />
v Hvis spørringen velger mer enn 20% av det totale antallet poster i filen, blir det vanligvis ikke brukt noen<br />
tilgangsbane for denne filen. Spørringen henter i stedet postene etter rekkefølge. Hvis spørringen<br />
imidlertid inneholder sorteringstester, kan en eksisterende tilgangsbane brukes eller så kan det lages en<br />
midlertidig tilgangsbane selv om spørringen velger mer enn 20%. Optimaliseringen velger vanligvis å<br />
bruke den sorteringen som leser postene etter rekkefølge, i stedet for en tilgangsbane.<br />
v <strong>Query</strong> lager og bruker vanligvis ikke tilgangsbaner for små filer. Selv om “små” i dette tilfellet blir<br />
definert som filer med omtrent 1000 poster, er ikke dette en fast regel. Hvis det finnes sorteringstester i<br />
spørringen, kan en eksisterende tilgangsbane brukes eller så kan det lages en midlertidig tilgangsbane<br />
for filen. Optimaliseringen velger vanligvis å bruke den sorteringen som leser postene etter rekkefølge, i<br />
stedet for en tilgangsbane.<br />
Tilgangsplaner<br />
Når du lagrer en ny definisjon av en spørring (for en ny spørring eller en endret definisjon av en spørring)<br />
blir det lagret en tilgangsplan som gjenspeiler den beste måten å hente dataene på, sammen med<br />
definisjonen.<br />
Hver gang du kjører en lagret spørring, vurderer <strong>Query</strong> tilgangsplanen ved å kontrollere at filene og<br />
tilgangsbanene i planen fortsatt eksisterer.<br />
238 <strong>Brukerhåndbok</strong> i <strong>Query</strong>/<strong>400</strong> V5R1