Come creare un indice cluster in Oracle

February 12

Come creare un indice cluster in Oracle


Un potente sistema di database come Oracle inghiotte magazzini di dati alla volta, i gruppi e ordina le informazioni in diversi modi ei rapporti aggregati per dare gestione superiore una visione elicottero delle informazioni aziendali. Le imprese si aspettano molto da Oracle, il che spiega il nome del sistema e la promessa che fa: consentendo l'attività del database su larga scala senza abbassare il throughput. Quindi, si equipaggia con meccanismi come indici sui tavoli e gruppi di tabelle con colonne critiche. I tavoli hanno una o più colonne in comune. Le colonne comuni e relativi formano la chiave del cluster, l'indice del cluster.

istruzione

Creazione di un cluster

1 Accedere al server Oracle come amministratore di database o come utente con privilegi CREATE CLUSTER se il cluster risiederà nel database corrente. Per creare un cluster in un altro schema, le esigenze degli utenti crea alcun privilegio CLUSTER. Il comando di seguito viene illustrato un esempio:

sqlplus MyUserName / MyPassword @ hostname

Questa dichiarazione al prompt OS avviare l'utilità di SQL * Plus a riga di comando e di fornire un prompt di SQL per inviare comandi SQL per Oracle. È inoltre possibile utilizzare la versione GUI chiamata "sqlplusw." Il parametro "hostname" specifica il server host su cui l'istanza di Oracle è in esecuzione.

2 Utilizzando query SQL sul dizionario dei dati o la consultazione dei progettisti di database, annotare lo schema del database in cui il gruppo risiederà, i nomi delle tabelle che saranno una parte del cluster, le colonne di queste tabelle che sarà una parte del cluster chiave e il nome del nuovo cluster.

3 Se il cluster è costituito da oggetti di un solo schema di database, rendere la tua database predefinito. Al prompt SQL, digitare il comando USE database come illustrato di seguito:

USO DBTestCluster

Questa istruzione SQL rende DBTestCluster il database corrente per tutti gli oggetti di riferimento della sessione.

4 Al prompt SQL * Plus, digitare il comando CREATE CLUSTER come segue:

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

Se non si qualificano il nome del cluster con un nome di schema, Oracle creerà il cluster nello schema del database corrente "DBTestCluster."

Il comando CREATE CLUSTER non è completa senza clausole facoltative. Un virgola indica un comando completo SQL pronto per essere inviato a Oracle. Nella versione GUI di SQL * Plus, è possibile utilizzare un pulsante per inviare il codice SQL.

5 A seconda di cosa il cluster è stato progettato per fare, aggiungere uno dei seguenti clausole opzionali per il comando CREATE CLUSTER come segue:

TAGLIA 512
TABLESPACE MyTablespaceName
INDICE
tavolo unico
HASHKEYS 20
Hash è MOD (+ clusterkey_EquipmentID clusterkey_PartCode, 100);

I numeri ei valori di cui sono esempi solo per mostrare l'utilizzo. L'opzione "SIZE" indica il numero di byte riservati per tutte le righe combinati di tutte le tabelle del cluster con gli stessi valori chiave del cluster.

La parola chiave "INDEX" indica un cluster indicizzato. Oracle memorizza tutte le righe con gli stessi valori chiave del cluster del cluster indicizzato. Se si specifica "INDEX", è necessario creare un indice sui tasti del cluster prima di qualsiasi manipolazione dei dati.

"HASHKEYS" indica un cluster hash, e il valore indica il numero di chiavi di hash. In questo caso, non si crea un indice chiave cluster.

Il "hash è" clausola specifica la funzione di hash per il cluster hash sotto forma di un'espressione SQL.

Consigli e avvertenze

  • Accedere alle tabelle del cluster come tutti gli altri tavoli. Il cluster è trasparente.
  • Non includere vincoli di integrità sulla chiave del cluster. Aggiungere vincoli creando le tabelle che vanno nel cluster.
  • Utilizzare un cluster hash per memorizzare i dati provenienti da tabelle che query SQL accederanno frequentemente. Le query in genere hanno un "WHERE" clausola controllando colonne chiave del cluster per l'uguaglianza.
  • L'utente non può specificare una colonna chiave di cluster di tipo LONG, LONG RAW, REF, tabella nidificata, VARRAY, binario oggetto più grande o BLOB, CLOB, file binario o BFILE o tipi di oggetti definiti dall'utente.
  • Consultare la documentazione Oracle per le regole sulla "hash è" clausola. L'espressione SQL dovrebbe valutare ad un numero positivo per l'hashing.
  • Utilizzare indici con cautela, in quanto possono fare gli aggiornamenti costosi.