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

Trong PostgreSQL, làm thế nào chúng ta có thể biết liệu mỗi chỉ mục của một bảng có được phân nhóm hay không?

Postgres không hỗ trợ các chỉ mục nhóm theo nghĩa như trong MySql. Có thể có một chỉ mục được sử dụng để phân cụm bảng. Bạn có thể kiểm tra điều này bằng cách truy vấn cột indisclustered trong danh mục hệ thống pg_index.

Ví dụ:

create table my_table(id serial primary key, str text unique);

select relname, indisclustered
from pg_index i
join pg_class c on c.oid = indexrelid
where indrelid = 'public.my_table'::regclass

     relname      | indisclustered 
------------------+----------------
 my_table_str_key | f
 my_table_pkey    | f
(2 rows)

cluster my_table using my_table_str_key;

select relname, indisclustered
from pg_index i
join pg_class c on c.oid = indexrelid
where indrelid = 'public.my_table'::regclass

     relname      | indisclustered 
------------------+----------------
 my_table_str_key | t
 my_table_pkey    | f
(2 rows)

Đọc trong tài liệu về CLUSTER:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để gọi một hàm cơ sở dữ liệu bằng SQLAlchemy trong Flask?

  2. Tìm nhanh người dùng ở gần bằng PostGIS

  3. Tôi đang chạy phiên bản PostgreSQL nào?

  4. Thay thế văn bản phù hợp regex bằng phiên bản viết hoa trong Postgresql

  5. Ngăn chặn gốc của danh từ riêng trong PostgreSQL?