Come indicizzare una colonna in postgresql?

Come indicizzare una colonna in postgresql?
Un database PostgreSQL in particolare o qualsiasi altro database, in generale, può contenere più tabelle in esso. Queste tabelle sono costituite da diverse colonne o attributi rispetto alle quali vengono archiviate righe o record diversi. In questo modo, i dati vengono salvati in un database. Indicizzando una colonna in PostgreSQL, intendiamo essenzialmente per creare una struttura di dati attraverso la quale possiamo fare riferimento ai valori di quella colonna in modo molto più efficiente invece di attraversare manualmente tutti i valori di quella colonna. In questo articolo, discuteremo prima della necessità di indicizzare una colonna in PostgreSQL in Windows 10 seguito dal metodo di farlo.

Necessità di indicizzare una colonna in PostgreSQL in Windows 10:

Abbiamo già menzionato che l'indicizzazione di una colonna rende il processo di ricerca di quella colonna ancora più veloce ed efficiente. Tuttavia, a parte questo, prenderemo in considerazione un esempio molto semplice qui che giustificherà la necessità di indicizzare una colonna in una tabella in Postgresql.

Supponiamo di avere una tabella intitolata "Dipendente". Questa tabella ha due colonne diverse, vale a dire rispettivamente "nome" e "numero" che corrispondono al nome del dipendente e al numero del dipendente. Inoltre, questa tabella contiene 1000 record di dipendenti diversi. Ora, vogliamo eseguire una query che restituirà un record con il numero di un dipendente specifico.

In questo caso, la nostra query dovrà cercare l'intera colonna "numero" della tabella "dipendente" fino a quando non trova il numero specificato all'interno della query eseguita. Solo allora, sarà in grado di visualizzare il record desiderato. Questo processo è piuttosto lungo e richiede tempo.

Pertanto, possiamo provare a indicizzare la colonna "numero" in modo che invece di cercare sequenzialmente l'intera colonna, il numero specificato all'interno della query possa essere cercato in modo molto efficiente. Tuttavia, questo tipo di indicizzazione della colonna non è adatto per tavoli molto piccoli i.e., Tabelle con alcuni record perché aumenterà solo il consumo di risorse.

Metodo di indicizzazione di una colonna in PostgreSQL in Windows 10:

Se si desidera indicizzare qualsiasi colonna desiderata di una tabella all'interno del database PostgreSQL in Windows 10, dovrai eseguire la procedura di passaggio discussa di seguito:

Passaggio n. 1: avvio del prompt dei comandi di Windows 10:

Accederemo all'ambiente PostgreSQL tramite il prompt dei comandi di Windows 10 per il quale dobbiamo lanciarlo prima. Puoi vedere la seguente immagine per sapere come avviare il prompt dei comandi di Windows 10.

Passaggio n. 2: immettere l'ambiente PostgreSQL tramite il prompt dei comandi di Windows 10:

Dopo aver aperto il prompt dei comandi, è possibile inserire l'ambiente PostgreSQL eseguendo il comando mostrato di seguito:

> Psql -u Postgres

Dopo aver eseguito questo comando, ti verrà chiesto di inserire la password per l'utente specificato come mostrato nella seguente immagine:

Una volta fornita questa password, inserirai l'ambiente PostgreSQL tramite il prompt dei comandi di Windows 10.

Passaggio n. 3: crea una nuova tabella in PostgreSQL in Windows 10:

Ora creeremo una nuova tabella in modo da poter indicizzare una delle sue colonne in Windows 10. Una tabella in PostgreSQL può essere creata con la query mostrata di seguito:

# Crea un dipendente Table (EMP_ID Serial Key, EMP_NAME VARCHAR (255) NOT NULL, EMP_NUMBER VARCHAR (255) NON NULL);

Questa query creerà una tabella denominata "dipendente" nel database PostgreSQL corrente con tre colonne, vale a dire rispettivamente "emp_id, emp_name ed emp_number".

L'esecuzione riuscita di questa query sarà confermata una volta che otterremo la risposta "Crea tabella" sulla nostra console come mostrato nella seguente immagine:

Passaggio n. 4: verifica se esiste la tabella appena creata nel tuo database corrente o no:

Quando è stata creata la nostra nuova tabella, possiamo verificare la sua esistenza eseguendo il comando mostrato di seguito:

# \ dt

Questo comando tenterà di visualizzare tutte le tabelle esistenti nel database corrente. Nell'elenco di queste tabelle sarai anche in grado di vedere la nostra tabella "dipendente" appena creata come mostrato nella seguente immagine:

Passaggio n. 5: inserire alcuni record nella tabella appena creata:

Ora inseriremo alcuni record di esempio in questa tabella appena creata. Un record in questa tabella può essere aggiunto con l'aiuto della query mostrata di seguito:

# inserire nei valori dei dipendenti (1, "aqsa", "12345");

Quando questo record verrà aggiunto correttamente alla tabella "dipendente", vedrai il seguente messaggio di successo sulla tua console:

Allo stesso modo, aggiungeremo più record alla tabella "dipendente" come mostrato nell'immagine seguente:

Passaggio n. 6: visualizzare la tabella appena popolata:

Dopo aver popolato la nostra tabella "dipendente", possiamo visualizzarlo eseguendo la seguente query aggiunta:

# Seleziona * dal dipendente;

Questa query visualizzerà tutti i record della tabella "dipendente" sulla console come mostrato nell'immagine seguente:

Passaggio n. 7: eseguire una query di test sulla tabella appena creata:

Ora eseguiremo una query di test sulla tabella appena creata per visualizzare un record con un determinato numero. Questa domanda è la seguente:

# Seleziona * dal dipendente dove emp_number = '24943';

Questa query visualizzerà istantaneamente il record selezionato come mostrato nell'immagine seguente:

Passaggio n. 8: visualizzare il piano di query per la query che hai appena eseguito:

Sebbene la query sopra menzionata sia stata eseguita con successo, tuttavia, per aver portato il risultato desiderato sulla console, l'intera colonna "EMP_NUMBER" della tabella "dipendente" sarebbe stata cercata in sequenza. Puoi verificarlo eseguendo la seguente query per visualizzare il piano di query:

# Spiega Seleziona * dal dipendente dove EMP_NUMBER = '24943';

Dall'immagine è possibile vedere di seguito che la query specificata è stata eseguita cercando sequenzialmente la colonna "EMP_NUMBER" della tabella "dipendente". Le ricerche sequenziali non sono buone per le tabelle con un gran numero di record. Per risolvere questo problema, tenteremo di indicizzare la colonna "EMP_NUMBER" eseguendo il passaggio successivo.

Passaggio n. 9: creazione di un indice per una colonna della tabella creata:

Per creare un indice per una colonna di una tabella in PostgreSQL in Windows 10, è possibile eseguire la seguente query:

# Crea indice index_emp_number sul dipendente (emp_number);

Questa query creerà un indice chiamato "index_emp_number" per la colonna "emp_number" della tabella "dipendente". L'esecuzione riuscita di questa query comporterà il messaggio di successo mostrato di seguito:

Passaggio # 10: elencare tutti gli indici della tabella desiderata:

Ora, per verificare se il detto indice è stato creato o meno, è possibile eseguire il seguente comando:

# \ d dipendente

L'output visualizzato nell'immagine mostrata di seguito ha evidenziato l'indice appena creato.

Rimozione di un indice da una colonna in PostgreSQL in Windows 10:

Se si desidera rimuovere un indice da una colonna di una tabella in PostgreSQL in Windows 10, è possibile eseguire la seguente query:

# Drop index_emp_number;

Quando l'indice specificato verrà rimosso correttamente, otterrai la risposta dell'indice di caduta sulla console come mostrato nell'immagine seguente:

Conclusione:

Leggendo attraverso tutti i passaggi del metodo spiegato in questo articolo, sarai in grado di capire molto rapidamente come l'indicizzazione delle colonne funziona in PostgreSQL in Windows 10. Dopo averlo appreso, sarai in grado di indicizzare tutte le colonne delle tabelle in PostgreSQL.