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!