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!