23.07.2013 Views

Om Brukerhåndbok i Query/400 - IBM

Om Brukerhåndbok i Query/400 - IBM

Om Brukerhåndbok i Query/400 - IBM

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!