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:
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:
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.