PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

PostgreSQL Tạo chỉ mục

Các chỉ mục PostgreSQL tăng tốc các truy vấn SQL bằng cách tăng tốc độ tra cứu, bộ lọc và kết nối. Dưới đây là cách tạo chỉ mục trong PostgreSQL để tăng tốc truy vấn cơ sở dữ liệu, sử dụng câu lệnh PostgreSQL CREATE INDEX.

Cách tạo chỉ mục trong PostgreSQL

Dưới đây là các bước để tạo chỉ mục trong PostgreSQL bằng cách sử dụng câu lệnh PostgreSQL CREATE INDEX. Giả sử bạn có bảng sau

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

Cách thêm chỉ mục vào cột trong bảng

Giả sử bạn muốn thêm chỉ mục cho cột hoặc tập hợp các cột, sau đó sử dụng câu lệnh CREATE INDEX. Đây là cú pháp của câu lệnh CREATE INDEX

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

Trong truy vấn trên, chúng tôi chỉ định tên chỉ mục sau CREATE INDEX, bảng mà bạn cần tạo chỉ mục và danh sách các cột được đưa vào lập chỉ mục.

Bạn có thể tùy chọn chỉ định từ khóa DUY NHẤT để đảm bảo rằng chỉ mục của bạn chỉ chứa các giá trị duy nhất

PostgreSQL hỗ trợ các phương pháp lập chỉ mục khác nhau như btree , hash , gist , spgist , ginbrin mà bạn có thể chỉ định trong quá trình tạo chỉ mục.

Theo mặc định, PostgreSQL sử dụng chỉ mục btree.

Dưới đây là một ví dụ để thêm chỉ mục mới cho cột product_name trong các đơn đặt hàng ở trên bảng

CREATE INDEX prod_id_index ON orders (product_id);

Đây là cách tạo chỉ mục bằng cách sử dụng nhiều cột

CREATE INDEX prod_id_index ON orders (product_id, order_id);

Đây là cách tạo chỉ mục bằng phương pháp băm

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

Dưới đây là cách tạo chỉ mục duy nhất để tránh các giá trị trùng lặp

CREATE UNIQUE INDEX prod_id_index ON orders (product_id);

PostgreSQL cũng cho phép bạn tạo chỉ mục từng phần bằng mệnh đề WHERE, trong đó chỉ các giá trị phù hợp mới được lập chỉ mục

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

Trong truy vấn trên, chỉ những prod_id được lập chỉ mục khi trạng thái =1

Hi vọng bài viết trên sẽ giúp bạn tạo index trong PostgreSQL

Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách ánh xạ trường mảng PostgreSQL trong Django ORM

  2. Làm cách nào để nhập mô-đun hoặc cài đặt tiện ích mở rộng trong Postgres?

  3. Giải thích về JSONB do PostgreSQL giới thiệu

  4. CHÈN NHÓM CHỌN THEO:nhiều cột mục tiêu hơn lỗi biểu thức

  5. Hibernate + PostgreSQL + Loại địa chỉ mạng (inet, cdir)