sql >> Databáze >  >> RDS >> PostgreSQL

Vytvořit index PostgreSQL

Indexy PostgreSQL zrychlují dotazy SQL urychlením vyhledávání, filtrů a spojení. Zde je návod, jak vytvořit index v PostgreSQL pro urychlení databázových dotazů pomocí příkazu PostgreSQL CREATE INDEX.

Jak vytvořit index v PostgreSQL

Zde jsou kroky k vytvoření indexu v PostgreSQL pomocí příkazu CREATE INDEX PostgreSQL. Řekněme, že máte následující tabulku

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

Jak přidat index do sloupce v tabulce

Řekněme, že chcete přidat index pro sloupec nebo sadu sloupců, pak použijte příkaz CREATE INDEX. Zde je syntaxe příkazu CREATE INDEX

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

Ve výše uvedeném dotazu zadáváme název indexu po CREATE INDEX, tabulku, pro kterou potřebujete vytvořit index, a seznam sloupců, které mají být zahrnuty do indexování.

Volitelně můžete zadat klíčové slovo UNIQUE, abyste zajistili, že váš index bude obsahovat pouze jedinečné hodnoty

PostgreSQL podporuje různé metody indexování, jako je btree , hash , gist , spgist , gin a brin které můžete zadat při vytváření indexu.

PostgreSQL standardně používá btree indexy.

Zde je příklad přidání nového indexu pro sloupec název_produktu ve výše uvedených objednávkách tabulka

CREATE INDEX prod_id_index ON orders (product_id);

Zde je návod, jak vytvořit index pomocí více sloupců

CREATE INDEX prod_id_index ON orders (product_id, order_id);

Zde je návod, jak vytvořit index pomocí metody hash

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

Zde je návod, jak vytvořit jedinečný index, abyste se vyhnuli duplicitním hodnotám

CREATE UNIQUE INDEX prod_id_index ON orders (product_id);

PostgreSQL také umožňuje vytvořit částečný index pomocí klauzule WHERE, kde jsou indexovány pouze odpovídající hodnoty

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

Ve výše uvedeném dotazu pouze ty prod_id jsou indexovány kde status=1

Doufejme, že výše uvedený článek vám pomůže vytvořit index v PostgreSQL

Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!

  1. Vložit výsledky uložené procedury do dočasné tabulky

  2. Jak můžete spustit stejný dotaz vícekrát pomocí smyčky v PL/SQL?

  3. Přepnutí oddílu na serveru SQL (T-SQL)

  4. Vyhledání sloupce rozdělení pro tabulku oddílů na serveru SQL Server (T-SQL)