PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

PostgreSQL Създаване на индекс

Индексите на PostgreSQL ускоряват SQL заявките, като ускоряват търсенията, филтрите и присъединяванията. Ето как да създадете индекс в PostgreSQL, за да ускорите заявките към базата данни, като използвате израза CREATE INDEX на PostgreSQL.

Как да създадете индекс в PostgreSQL

Ето стъпките за създаване на индекс в PostgreSQL с помощта на оператор CREATE INDEX на PostgreSQL. Да приемем, че имате следната таблица

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

Как да добавя индекс към колона в таблица

Да приемем, че искате да добавите индекс за колона или набор от колони, след което използвайте израз CREATE INDEX. Ето синтаксиса на израза CREATE INDEX

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

В горната заявка указваме името на индекса след CREATE INDEX, таблицата, за която трябва да създадете индекс, и списък с колони, които да бъдат включени в индексирането.

Можете по избор да посочите UNIQUE ключова дума, за да сте сигурни, че вашият индекс съдържа само уникални стойности

PostgreSQL поддържа различни методи за индексиране като btree , hash , gist , spgist , gin и brin които можете да посочите по време на създаване на индекс.

По подразбиране PostgreSQL използва btree индекси.

Ето пример за добавяне на нов индекс за колона име_на_продукт в горните поръчки таблица

CREATE INDEX prod_id_index ON orders (product_id);

Ето как да създадете индекс с помощта на множество колони

CREATE INDEX prod_id_index ON orders (product_id, order_id);

Ето как да създадете индекс с помощта на хеш метод

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

Ето как да създадете уникален индекс, за да избегнете дублирани стойности

CREATE UNIQUE INDEX prod_id_index ON orders (product_id);

PostgreSQL също така ви позволява да създавате частичен индекс с помощта на клауза WHERE, където се индексират само съответстващи стойности

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

В горната заявка само тези prod_id са индексирани, където status=1

Надяваме се, че горната статия ще ви помогне да създадете индекс в PostgreSQL

Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Имената на часови зони с идентични свойства дават различен резултат, когато се прилагат към времеви печат

  2. Docker - Как мога да изпълним командата psql в контейнера postgres?

  3. postgresql - sql - брой "истински" стойности

  4. Извършване на промени в топологията на репликация за PostgreSQL

  5. Автоматизиране на барман с кукла:it2ndq/барман (част втора)