sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL Skapa index

PostgreSQL-index påskyndar SQL-frågor genom att snabba upp uppslagningar, filter och kopplingar. Så här skapar du index i PostgreSQL för att snabba upp databasfrågor med PostgreSQL CREATE INDEX-satsen.

Hur man skapar index i PostgreSQL

Här är stegen för att skapa index i PostgreSQL med PostgreSQL CREATE INDEX-satsen. Låt oss säga att du har följande tabell

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

Hur man lägger till index till kolumn i tabell

Låt oss säga att du vill lägga till index för kolumn eller uppsättning kolumner, använd sedan CREATE INDEX-satsen. Här är syntaxen för CREATE INDEX-satsen

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

I ovanstående fråga anger vi indexnamnet efter CREATE INDEX, tabellen som du behöver skapa index för, och lista över kolumner som ska inkluderas i indexeringen.

Du kan valfritt ange UNIKT nyckelord för att säkerställa att ditt index bara innehåller unika värden

PostgreSQL stöder olika indexeringsmetoder såsom btree , hash , gist , spgist , gin och brin som du kan ange när du skapar index.

Som standard använder PostgreSQL btree-index.

Här är ett exempel för att lägga till nytt index för kolumnen produktnamn i ovanstående beställningar bord

CREATE INDEX prod_id_index ON orders (product_id);

Så här skapar du index med flera kolumner

CREATE INDEX prod_id_index ON orders (product_id, order_id);

Så här skapar du index med hashmetoden

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

Så här skapar du ett unikt index för att undvika dubbletter av värden

CREATE UNIQUE INDEX prod_id_index ON orders (product_id);

PostgreSQL låter dig också skapa partiellt index med hjälp av WHERE-satsen, där endast matchande värden indexeras

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

I ovanstående fråga, endast de prod_id indexeras där status=1

Förhoppningsvis kommer artikeln ovan att hjälpa dig att skapa index i PostgreSQL

Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!

  1. Vad är skillnaden mellan pls_integer och binary_integer?

  2. Hur man maskerar Cassandra med IRI FieldShield

  3. MySQL-fråga som hittar värden i en kommaseparerad sträng

  4. Ansluta en 64-bitars applikation till Acomba