Oracle crea indice

Oracle crea indice

Nei database Oracle, un indice si riferisce a una struttura di dati che fa avanzare la velocità delle operazioni di recupero dei dati su una tabella del database. Tuttavia, ciò può derivare da una penalità di operazioni di scrittura extra e spazio di archiviazione nel tuo database.

Un esempio di dove sarebbe utile un indice di database è in un sistema di gestione delle relazioni con i clienti.

In tale sistema, possiamo avere una tabella di database che memorizza le informazioni sui clienti. Ciò potrebbe includere il nome, l'indirizzo, i metodi di pagamento, le informazioni di contatto, ecc.

Se la tabella contiene molti record, forse milioni di essi, può richiedere molto tempo e risorse per cercare informazioni specifiche del cliente dal database. Questo è un fenomeno negativo, specialmente nei database in cui le prestazioni sono fondamentali.

Per circumnavigare questo, possiamo usare un indice di database.

Ad esempio, possiamo creare un indice sulla colonna Nome del cliente che consentirebbe al sistema di database di trovare e recuperare rapidamente le informazioni di un cliente utilizzando il nome. Pertanto, invece del motore del database che attraversa tutte le righe e le colonne nella tabella, utilizza solo l'indice per cercare le informazioni sui clienti.

In questo tutorial, imparerai come utilizzare il comando Crea Index nel database Oracle per inizializzare un nuovo indice.

Oracle Crea l'istruzione indice

Di seguito mostra la sintassi dell'istruzione Crea Index in Oracle Database:

Crea index_name
Su table_name (column1, column2, ...);

La sintassi sopra crea un indice denominato index_name nella tabella con il nome table_name utilizzando le colonne specificate (colonna1, colonna2, ecc.) come chiave per l'indice.

In Oracle, una chiave primaria è una colonna o un set di colonne che identifica in modo univoco ogni riga in una tabella. Per impostazione predefinita, Oracle crea automaticamente un indice univoco sulle colonne chiave primarie di una tabella per far rispettare il vincolo di unicità e migliorare le prestazioni delle ricerche chiave primarie.

Tuttavia, in alcuni casi, potrebbe essere necessario creare un nuovo indice per una tabella specifica manualmente.

Diamo un'occhiata ad alcuni esempi di come possiamo raggiungere questo obiettivo.

Oracle crea un esempio indice

Supponiamo di avere una tabella contenente le informazioni sui dipendenti come mostrato nell'output di seguito:

Seleziona First_name, last_name, stipendio, noleggio_date dai dipendenti;

Oracle crea indice per una singola colonna

Supponiamo di voler creare un indice usando la colonna First_name. Possiamo eseguire una domanda come mostrato:

Crea indice first_name_lookup sui dipendenti (first_name);

Questa istruzione Crea Index crea un indice denominato first_name_lookup nella tabella Employes, utilizzando la colonna First_Name come chiave per l'indice. Questo indice può essere utilizzato per migliorare le prestazioni delle domande che cercano i dipendenti con il loro nome.

Una volta creato l'indice, possiamo usarlo per cercare un dipendente specifico come mostrato:

Seleziona First_name, last_name, stipendio, noleggio_date
Dai dipendenti
Dove first_name = 'William';

Risultato:

Senza l'indice First_name_lookup, il sistema di database dovrebbe scansionare l'intera tabella dei dipendenti per trovare tutte le righe in cui la colonna First_Name è uguale a 'William.'Tuttavia, con l'indice in atto, il sistema di database può cercare rapidamente le righe nell'indice utilizzando il valore "John" come chiave e quindi recuperare le righe richieste dalla tabella, che saranno molto più veloci.

È possibile visualizzare i passaggi utilizzati quando si effettua la query utilizzando il comando del piano spiega come mostrato:

Spiega il piano per selezionare First_name, last_name, stipendio, noleggio_date
Dai dipendenti
Dove first_name = 'William';

Piano di query risultante:

Esempio 2 - Oracle Crea indice con più colonne

Allo stesso modo, possiamo creare un indice composto da più di una colonna in una determinata tabella. Ad esempio, supponiamo di voler creare un indice composto dalla colonna First_Name e Last_Name.

Possiamo usare il codice come mostrato:

Crea indice multi_lookup sui dipendenti (first_name, last_name);

Questa istruzione Crea Index crea un indice denominato Multi_Lookup nella tabella Employes, utilizzando le colonne First_Name e Last_Name come chiave per l'indice.

Una volta creato, possiamo usare questo indice come mostrato nella query di esempio come mostrato:

Seleziona First_name, last_name, stipendio, noleggio_date
Dai dipendenti
Dove first_name = 'William' e last_name = 'Smith';

Valore risultante:

E lì, hai un metodo per accelerare le query del database utilizzando gli indici per limitare l'ambito di ricerca.

Conclusione

L'istruzione Crea Index in Oracle ci consente di creare un indice su una tabella per migliorare le prestazioni delle operazioni di recupero dei dati. Tuttavia, sebbene gli indici possano migliorare le prestazioni delle query, inoltreranno anche sanzioni per lo spazio di archiviazione, portando a una ridotta operazione di velocità di scrittura, utilizzarle solo quando necessario.