Hvordan lage en gruppeindeks i Oracle

Hvordan lage en gruppeindeks i Oracle


En kraftig database system som Oracle svelger lagrene av data om gangen, grupper og sorterer informasjonen på flere måter og rapporter på aggregater for å gi ledelsen et helikopter visning av bedriftsinformasjon. Bedrifter forventer mye av Oracle, som forklarer systemets navn og løftet det gjør: muliggjør storskala databaseaktivitet uten å senke gjennomstrømming. Derfor utstyrer den deg med mekanismer som indekser på tabeller og klynger av tabeller med kritiske kolonner. Tabellene har en eller flere kolonner i felles. De vanligste og relaterte kolonner danne klynge tasten, indeksen for klyngen.

Bruksanvisning

Opprette en Cluster

1 Logg inn til Oracle server som databaseadministrator eller som en bruker med CREATE CLUSTER privilegium hvis klyngen vil ligge i gjeldende database. For å opprette en klynge i et annet skjema, brukerens behov SKAPE NOE CLUSTER privilegium. Følgende kommando viser et eksempel:

sqlplus Mittbrukernavn / Mittpassord @ hostname

Denne uttalelsen på OS teksten vil starte SQL * Plus kommandolinjeverktøy og gi en SQL bedt om å sende SQL-kommandoer til Oracle. Du kan også bruke GUI versjon kalt "sqlplusw." Parameteren "hostname" spesifiserer verten serveren der Oracle eksempel kjører.

2 Ved hjelp av SQL-spørringer på data ordbok eller rådgivning databasen designere, notere databaseskjema hvor klyngen vil ligge, tabellnavnene som vil være en del av klyngen, kolonnene av disse tabellene som vil være en del av klyngen nøkkelen og navnet på den nye klyngen.

3 Hvis klyngen består av objekter fra en databaseskjema bare, gjør dette til standard database. På SQL teksten skriver BRUK database kommandoen som vist nedenfor:

BRUK DBTestCluster

Denne SQL-setning gjør DBTestCluster gjeldende database for alle objekter det refereres til i økten.

4 På SQL * Plus teksten skriver CREATE CLUSTER kommandoen som følger:

CREATE CLUSTER TargetSchema.TestClusterName (clusterkey_EquipmentID NUMMER (5), clusterkey_PartCode NUMMER (3))

Hvis du ikke kvalifiserer klyngen navn med et skjemanavn, vil Oracle skape klyngen i gjeldende databaseskjema "DBTestCluster."

CREATE CLUSTER kommandoen er ikke komplett uten tilleggsklausuler. Et semikolon indikerer en komplett SQL kommando klar til å bli sendt til Oracle. I GUI-versjonen av SQL * Plus, kan du bruke en knapp for å sende SQL-kode.

5 Avhengig av hva cluster er designet for å gjøre, legge noen av følgende tilleggsklausuler til CREATE CLUSTER kommandoen som følger:

SIZE 512
TABLE MyTablespaceName
INDEX
SINGLE TABLE
HASHKEYS 20
HASH IS MOD (clusterkey_EquipmentID + clusterkey_PartCode, 100);

Tallene og verdier som er oppført er bare eksempler for å vise bruken. Alternativet "SIZE" angir antall byte reservert for alle rader kombinert fra alle tabeller i klyngen med de samme klase sentrale verdier.

Nøkkelordet "INDEX" indikerer en indeksert klynge. Oracle lagrer alle rader med samme klynge sentrale verdier i det indekserte klynge. Hvis du angir "INDEX", må du opprette en indeks på klyngen tastene før noen datamanipulasjon.

"HASHKEYS" indikerer en hash klynge, og verdien viser antall hasj nøkler. I så fall trenger du ikke opprette en klynge nøkkelindeks.

Den "HASH IS" klausul angir hash-funksjon for hash klynge i form av et SQL-uttrykk.

Hint

  • Tilgang tabellene i klyngen som alle andre tabeller. Klyngen er gjennomsiktig.
  • Ikke ta med integritet begrensninger på klyngen nøkkelen. Legg begrensninger mens du oppretter tabellene som går i klyngen.
  • Bruk en hash klynge for å lagre data fra tabeller som SQL-spørringer vil få tilgang til ofte. Spørringene vil typisk ha en "hvor" klausul sjekke klasenøkkelkolonnene for likestilling.
  • Du kan ikke angi en klynge nøkkelkolonne av typen LONG, LONG RAW, NR, nestet tabell, VARRAY, binær større objekt eller BLOB, CLOB, binærfil eller BFILE eller brukerdefinerte objekttyper.
  • Se Oracle Dokumentasjon for regler om "HASH IS" -klausul. SQL-uttrykket bør vurdere til et positivt tall for hashing.
  • Bruk indekser med forsiktighet, da de kan gjøre oppdateringer dyrt.