Hvordan cache Oracle Sequence for å forbedre dataordboksressursene?

Hvordan cache Oracle Sequence for å forbedre dataordboksressursene?

Oracle -sekvenser brukes ofte til å generere unike numeriske identifikatorer for databaseposter. Generering av sekvensverdier kan imidlertid være en ytelsesbegrensning for applikasjoner med høy concurrency. En måte å forbedre ytelsen på er å cache Oracle -sekvenser ved å redusere antallet ordboksadganger som kreves for å generere sekvensverdier.

Denne guiden vil forklare hvordan du kan cache Oracle Sequence for å forbedre datagboksressursene.

Hvordan cache Oracle Sequence for å forbedre/forbedre dataordboksressursene?

Følgende alternativer kan brukes til å cache Oracle Sequence for å forbedre dataordboksressurser:

    • Cache -alternativet
    • Noorder -alternativet
    • Keep -alternativet

Før du starter med forbedringen, logg deg på Oracle-databasen som systemadministrator ved å skrive den nedenfor-gitte kommandoen:

Sqlplus sys/root1234 som sysdba


I kommandoen ovenfor, “root1234”Er databasepassordet.

Produksjon


Utgangen viste den vellykkede påloggingen til en Oracle -database.

La oss bekrefte hurtigbufferens størrelse og maksimal verdi av sekvensen etter den vellykkede påloggingen.

Sjekk hurtigbufferstørrelse

For å sjekke hurtigbufferstørrelsen, kan SELECT -setningen brukes med cache_størrelse som gitt nedenfor:

Velg Cache_Size fra All_Sequences
Hvor sekvens_owner = 'c ## md'
Og sekvens_navn = 'dBObjectID_sequence';


I kommandoen ovenfor, hurtigbufferstørrelsen til en sekvens som heter “DBOBJECTID_SEPSENCE”Er valgt fra All_ Sequences utsikt.

Produksjon


Utgangen viste at hurtigbufferstørrelsen er 50.

Sjekk maks. Verdi

"Max_Value" kan brukes med SELECT -setningen for å hente maksimal verdi fra sekvensen, som vist nedenfor:

Velg Max_Value fra All_Sequences
Hvor sekvens_owner = 'c ## md'
Og sekvens_navn = 'dBObjectID_sequence';


Produksjon


Utgangen viste Maks Verdi fra sekvensen.

Hvordan cache Oracle Sequence ved hjelp av cache -alternativet?

Cache”Alternativ brukes til å forhåndsfordelere et spesifisert antall sekvensverdier i minnet, som deretter brukes av databasen uten behov for ordboktilgang. For å cache en Oracle -sekvens, kan du bruke cache -alternativet når du oppretter eller endrer sekvensen.

Eksemplet er gitt nedenfor:

Alter Sequence C ## MD.DBOBJECTID_SEPSENCE CACHE 70;


I eksemplet ovenfor:

    • C ## MD”Er sekvenseieren.
    • DBOBJECTID_SEPSENCE”Er sekvensnavnet.
    • 70”Er den nye hurtigbufferstørrelsen.

Produksjon


Utgangen viste at hurtigbufferstørrelsen er endret.

La oss bekrefte hurtigbufferstørrelsen ved å skrive den gitte kommandoen:

Velg Cache_Size fra All_Sequences
Hvor sekvens_owner = 'c ## md'
Og sekvens_navn = 'dBObjectID_sequence';


Produksjon


Utgangen viste at hurtigbufferstørrelsen er endret til 70.

Hvordan cache Oracle Sequence ved å bruke Noorder -alternativet?

Noorder”Alternativ brukes til å forhåndsfordelere et spesifisert antall sekvensverdier i minnet uten å bestille verdiene i noen spesifikk rekkefølge. Uten dette alternativet vil Oracle måtte låse sekvensen før du genererer en ny verdi som kan redusere ytelsen.

Ved å bruke alternativet "Noorder", kan Oracle cache sekvensverdiene og forbedre bruken av dataordboksressurser. Her er et eksempel:

Alter Sequence C ## MD.DBOBJECTID_SEPSENCE CACHE 90 NOORDER;


Produksjon


Utgangen “Sekvens endret”Viste at endringene er gjort.

Hvordan cache Oracle Sequence ved å bruke alternativet Keep?

BEHOLDE”Alternativet brukes til å beholde sekvensverdier som er generert og ennå ikke brukt, selv om databasen krasjer eller blir lagt ned uventet. Det reduserer også sjansen for sekvenshull. Keep -alternativet kan være nyttig for sekvenser som ofte er tilgjengelig eller for sekvenser som brukes i svært samtidig miljøer.

Skriv inn kommandoen nedenfor til Cache Oracle Sequence for å forbedre dataordboksressursene ved å bruke alternativet Keep:

Alter Sequence C ## MD.DBOBJECTID_SEPSENCE CACHE 120 Keep;


Produksjon

Utgangen demonstrerte at sekvensen er endret:


Dette er hvordan du kan cache Oracle Sequence for å forbedre dataordboksressursene.

Konklusjon

Caching Oracle -sekvenser ved bruk av “Cache”,“Noorder”, Og“BEHOLDE”Alternativer kan forbedre dataordboksressursene ved å redusere antallet ordbokstilgang som kreves for å generere sekvensverdier. Cache-alternativet forandrer et spesifisert antall sekvensverdier i minnet. Denne guiden har forklart forskjellige alternativer for cache Oracle -sekvenser for å forbedre/forbedre dataordboksressursene.