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!