sql >> Base de Datos >  >> RDS >> PostgreSQL

Índice de creación de PostgreSQL

Los índices de PostgreSQL aceleran las consultas SQL al acelerar las búsquedas, los filtros y las uniones. A continuación se explica cómo crear un índice en PostgreSQL para acelerar las consultas de la base de datos mediante la declaración CREATE INDEX de PostgreSQL.

Cómo crear un índice en PostgreSQL

Estos son los pasos para crear un índice en PostgreSQL usando la declaración CREATE INDEX de PostgreSQL. Digamos que tienes la siguiente tabla

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

Cómo agregar índice a la columna en la tabla

Digamos que desea agregar un índice para una columna o un conjunto de columnas, luego use la instrucción CREATE INDEX. Esta es la sintaxis de la sentencia CREATE INDEX

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

En la consulta anterior, especificamos el nombre del índice después de CREAR ÍNDICE, la tabla para la que necesita crear el índice y la lista de columnas que se incluirán en la indexación.

Opcionalmente, puede especificar la palabra clave ÚNICA para asegurarse de que su índice contenga solo valores únicos

PostgreSQL admite varios métodos de indexación como btree , hash , gist , spgist , gin y brin que puede especificar durante la creación del índice.

Por defecto, PostgreSQL usa índices btree.

Aquí hay un ejemplo para agregar un nuevo índice para la columna product_name en los pedidos anteriores mesa

CREATE INDEX prod_id_index ON orders (product_id);

Aquí se explica cómo crear un índice usando varias columnas

CREATE INDEX prod_id_index ON orders (product_id, order_id);

Aquí se explica cómo crear un índice usando el método hash

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

Aquí se explica cómo crear un índice único para evitar valores duplicados

CREATE UNIQUE INDEX prod_id_index ON orders (product_id);

PostgreSQL también le permite crear un índice parcial usando la cláusula WHERE, donde solo se indexan los valores coincidentes

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

En la consulta anterior, solo aquellos prod_id están indexados donde status=1

Con suerte, el artículo anterior lo ayudará a crear un índice en PostgreSQL

Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!