SQL CREATE INDEX





SQL > Modifica delle Tabelle > Create Index

Attraverso gli indici è possibile recuperare più velocemente i dati contenuti in una tabella. Si veda il seguente esempio in cui viene illustrato questo concetto. Si supponga di essere interessati alla lettura di un libro di giardinaggio per sapere come coltivare dei peperoni. Invece di leggere il libro intero dall'inizio fino al paragrafo in cui viene descritto il procedimento per la coltivazione dei peperoni, risulta molto più semplice consultare l’indice presente alla fine del libro, individuare le pagine contenenti le informazioni sui peperoni e passare direttamente alla lettura di quelle pagine. La consultazione dell’indice consente di risparmiare tempo ed è, senza alcun dubbio, il modo migliore per individuare le informazioni necessarie.

Lo stesso principio vale per il recupero dei dati presenti in una tabella di database. In assenza di un indice, per individuare le informazioni desiderate il sistema del database è costretto a leggere l’intera tabella (questo processo viene denominato “scansione della tabella”). Con un indice appropriato, invece, il sistema del database può prima consultarlo per trovare la posizione in cui poter recuperare i dati, quindi andare direttamente in quella posizione e ottenere i dati desiderati. In questo modo il recupero dei dati è certamente più veloce.

Per questo motivo è sempre consigliato creare un indice nelle tabelle. Un indice può interessare una o più colonne. La sintassi generale per creare un indice è:

CREATE INDEX "nome_di_indice" ON "nome_della_tabella" (nome_di_colonna);

Si supponga di disporre della seguente tabella:

Tabella Customer
Nome di ColonnaTipo di Dati
First_Namechar(50)
Last_Namechar(50)
Addresschar(50)
Citychar(50)
Countrychar(25)
Birth_Datedatetime

e che si desideri creare un indice nella colonna Last_Name. Digitare:

CREATE INDEX IDX_CUSTOMER_LAST_NAME
ON Customer (Last_Name);

Se si desidera creare un indice su entrambe le colonne City e Country, digitare:

CREATE INDEX IDX_CUSTOMER_LOCATION
ON Customer (City, Country);

Non esiste una regola precisa relativa alla denominazione di un indice. Il metodo comunemente accettato è posizionare un prefisso, come “IDX_”, prima di un nome di indice per evitare di creare confusione con altri oggetti del database. Può anche risultare utile fornire informazioni relative alla tabella e alle colonne su cui viene utilizzato l’indice.

Si noti che la sintassi esatta per CREATE INDEX può variare in base ai database utilizzati. Per conoscere la sintassi precisa, è consigliato consultare il manuale di riferimento.

SQL ALTER TABLE >>

Questa pagina è stata aggiornata l'ultima volta il 27/06/2022



Copyright © 2024   1keydata.com   Tutti i diritti riservati