Om Brukerhåndbok i Query/400 - IBM
Om Brukerhåndbok i Query/400 - IBM
Om Brukerhåndbok i Query/400 - IBM
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Merk: Hvis det ikke finnes noen tilgangsbane som er i samsvar med postutvelgelsestestene, bygger ikke<br />
<strong>Query</strong> noen tilgangsbane bare for utvelgingen. <strong>Query</strong> leser alle postene og velger ut de som<br />
samsvarer med tilgangsbanen.<br />
Hvis du bruker en bestemt spørring ofte, bør du lage en tilgangsbane med valg/utelatelsestester som<br />
stemmer overens med spørringen. I avsnittet “Tilgangsbaner for valg/utelatelse” på side 238 kan du lese<br />
mer om dette.<br />
Tilgangsbaner som allerede finnes, blir bare brukt for OR-betingelser for de samme feltene som er oppgitt<br />
i utvelgelsestestene.<br />
Du kan velge poster ved å bruke symbolet % med LIKE-operatoren som et generisk søk eller en avsøking<br />
(også kalt variabelavsøking). Hvis variabelavsøkingen starter i den første posisjonen av et felt (for<br />
eksempel %ABC), kan ikke <strong>Query</strong> bruke eksisterende tilgangsbaner for den delen av postutvelgelsen. Hvis<br />
avsøkingen imidlertid starter etter den første posisjonen (for eksempel ABC%), kan <strong>Query</strong> bruke alle<br />
godkjente tilgangsbaner for feltet som er oppgitt i denne typen postutvelgelse.<br />
Velge sorteringsfelt<br />
I de fleste tilfeller trenger <strong>Query</strong> en tilgangsbane til å ordne de utvalgte postene når du har oppgitt<br />
nøkkelfeltene. Hvis det ikke finnes noen tilgangsbane, lager <strong>Query</strong> en midlertidig tilgangsbane når<br />
spørringen kjøres eller bruker en sorteringsfunksjon for å ordne postene. En sorteringsrutine brukes når<br />
optimalisatoren bestemmer at sorteringsrutinen gir bedre yteevne. Hvis det blir brukt en midlertidig<br />
tilgangsbane, blir den slettet når spørringen er ferdig, slik at banen må bygges på nytt hver gang<br />
spørringen blir kjørt. Bruk derfor ikke sorteringsfelt i spørringen hvis det ikke er helt nødvendig.<br />
Det kan lønne seg å lage tilgangsbaner som samsvarer med sorteringstestene hvis du bruker spørringene<br />
ofte og de har tilgangsbaner som krever lang byggetid. <strong>Query</strong> prøver å bruke en eksisterende<br />
tilgangsbane hvis alle sorteringsfeltene fra spørringen stemmer overens med de første nøkkelfeltene fra<br />
tilgangsbanen. Slik unngår du unødvendig bygging av tilgangsbaner for spørringer med sorteringstester.<br />
La oss anta at fil Z har feltene A, B, C og D, og at det er seks tilgangsbaner for denne filen.<br />
Tilgangsbanene har disse nøklene oppgitt i nevnt rekkefølge:<br />
1. Tilgangsbane nr.1 har nøkkelfeltet A<br />
2. Tilgangsbanen nr.2 har nøkkelfeltene A og B<br />
3. Tilgangsbanen nr.3 har nøkkelfeltene A og C<br />
4. Tilgangsbanen nr.4 har nøkkelfeltene A, B og C<br />
5. Tilgangsbanen nr.5 har nøkkelfeltene B, A og C<br />
6. Tilgangsbanen nr.6 har nøkkelfeltene A, B, C og D<br />
Hvis du nå kjører en spørring som er definert til å sortere nøkkelfeltene A, B og C, blir bare<br />
tilgangsbanene nr.4 og nr.6 tatt med under optimalisering. Tilgangsbanene nr.1, nr.2 og nr.3 blir ikke brukt,<br />
fordi <strong>Query</strong> da må lese postene om igjen og sortere på flere nøkler. Det er mer effektivt for <strong>Query</strong> å bygge<br />
og bruke en tilgangsbane som inneholder alle sorterings- og utvelgelsestestene. Tilgangsbanen nr.5 blir<br />
ikke tatt i betraktning, fordi de sorterte nøkkelordene ikke ligger i riktig rekkefølge.<br />
Hvis en bestemt spørring kjøres ofte, bør du vurdere å lage en tilgangsbane med valg-/utelatelsestester<br />
som samsvarer med spørringen. I avsnittet “Tilgangsbaner for valg/utelatelse” på side 238 kan du lese mer<br />
om dette.<br />
Hvis du bruker noen sorteringstester ofte, kan du også (foruten å lage tilgangsbaner) la <strong>Query</strong> sortere<br />
postene i en databasefil i ønsket rekkefølge. <strong>Query</strong> kan deretter kjøres mot denne filen uten<br />
sorteringstester hvis spørringene leter etter data som er sortert slik de ligger i filen. Velg de nødvendige<br />
sorteringsfeltene fra filen og velg database som utdataenhet (alternativ 3 på skjermbildet Velge type og<br />
form på utdata). Oppgi deretter en utdatabasefil som er forskjellig fra navnet på inndatafilen eller<br />
242 <strong>Brukerhåndbok</strong> i <strong>Query</strong>/<strong>400</strong> V5R1