PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL Crea indice

Gli indici PostgreSQL velocizzano le query SQL velocizzando ricerche, filtri e join. Ecco come creare un indice in PostgreSQL per velocizzare le query del database, utilizzando l'istruzione CREATE INDEX di PostgreSQL.

Come creare un indice in PostgreSQL

Di seguito sono riportati i passaggi per creare un indice in PostgreSQL utilizzando l'istruzione CREATE INDEX di PostgreSQL. Supponiamo che tu abbia la seguente tabella

CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   product_id INT NOT NULL,
   sale INT NOT NULL,
   product_name VARCHAR(10)
);

Come aggiungere un indice alla colonna nella tabella

Supponiamo di voler aggiungere l'indice per la colonna o il set di colonne, quindi utilizzare l'istruzione CREATE INDEX. Ecco la sintassi dell'istruzione CREATE INDEX

CREATE [UNIQUE] INDEX [CONCURRENTLY] index_name ON table_name 
[USING METHOD](column_list)

Nella query precedente, specifichiamo il nome dell'indice dopo CREATE INDEX, la tabella per la quale è necessario creare l'indice e l'elenco delle colonne da includere nell'indicizzazione.

Facoltativamente, puoi specificare la parola chiave UNIQUE per assicurarti che il tuo indice contenga solo valori univoci

PostgreSQL supporta vari metodi di indicizzazione come btree , hash , gist , spgist , gin e brin che puoi specificare durante la creazione dell'indice.

Per impostazione predefinita, PostgreSQL utilizza gli indici btree.

Ecco un esempio per aggiungere un nuovo indice per la colonna nome_prodotto negli ordini precedenti tabella

CREATE INDEX prod_id_index ON orders (product_id);

Ecco come creare un indice utilizzando più colonne

CREATE INDEX prod_id_index ON orders (product_id, order_id);

Ecco come creare un indice utilizzando il metodo hash

CREATE INDEX prod_id_index ON orders using hash(product_id, order_id);

Ecco come creare un indice univoco per evitare valori duplicati

CREATE UNIQUE INDEX prod_id_index ON orders (product_id);

PostgreSQL consente anche di creare un indice parziale utilizzando la clausola WHERE, in cui vengono indicizzati solo i valori corrispondenti

CREATE INDEX prod_id_index ON orders (product_id) where status=1;

Nella query precedente, solo quelli prod_id sono indicizzati dove status=1

Si spera che l'articolo sopra ti aiuti a creare un indice in PostgreSQL

Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!