PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

PostgreSQL Criar Índice


Os índices do PostgreSQL aceleram as consultas SQL acelerando pesquisas, filtros e junções. Veja como criar um índice no PostgreSQL para acelerar as consultas ao banco de dados, usando a instrução CREATE INDEX do PostgreSQL.


Como criar índice no PostgreSQL


Aqui estão os passos para criar um índice no PostgreSQL usando a instrução PostgreSQL CREATE INDEX. Digamos que você tenha a seguinte tabela
CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   product_id INT NOT NULL,
   sale INT NOT NULL,
   product_name VARCHAR(10)
);


Como adicionar índice à coluna na tabela


Digamos que você queira adicionar índice para coluna ou conjunto de colunas e, em seguida, use a instrução CREATE INDEX. Aqui está a sintaxe da instrução CREATE INDEX
CREATE [UNIQUE] INDEX [CONCURRENTLY] index_name ON table_name 
[USING METHOD](column_list)

Na consulta acima, especificamos o nome do índice após CREATE INDEX, a tabela para a qual você precisa criar o índice e a lista de colunas a serem incluídas na indexação.

Opcionalmente, você pode especificar a palavra-chave UNIQUE para garantir que seu índice contenha apenas valores exclusivos

PostgreSQL suporta vários métodos de indexação como btree , hash , gist , spgist , gin e brin que você pode especificar durante a criação do índice.

Por padrão, o PostgreSQL usa índices btree.

Aqui está um exemplo para adicionar um novo índice para a coluna product_name nas ordens acima tabela
CREATE INDEX prod_id_index ON orders (product_id);



Veja como criar índice usando várias colunas
CREATE INDEX prod_id_index ON orders (product_id, order_id);



Veja como criar índice usando o método hash
CREATE INDEX prod_id_index ON orders using hash(product_id, order_id);



Veja como criar um índice exclusivo para evitar valores duplicados
CREATE UNIQUE INDEX prod_id_index ON orders (product_id);



O PostgreSQL também permite que você crie um índice parcial usando a cláusula WHERE, onde apenas os valores correspondentes são indexados
CREATE INDEX prod_id_index ON orders (product_id) where status=1;

Na consulta acima, apenas os prod_id são indexados onde status=1



Espero que o artigo acima o ajude a criar um índice no PostgreSQL



O Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!