索引

在表上创建新索引

create index idx_employee_emp_name on employee using btree (emp_name asc);

// 在 employee 表的 emp_name 列上创建新索引(SQL)

此索引指定“btree”作为索引方法,并使用“asc”以升序存储索引键列数据。


查看表的索引

\d employee
postgres=# \d employee;
                                    Table "public.employee"
   Column   |         Type          |                         Modifiers                         
------------+-----------------------+-----------------------------------------------------------
 emp_id     | integer               | not null default nextval('employee_emp_id_seq'::regclass)
 emp_name   | character varying(50) | not null
 emp_salary | numeric(9,2)          | not null
Indexes:
    "employee_pkey" PRIMARY KEY, btree (emp_id)
    "idx_employee_emp_name" btree (emp_name)

// 列出表的索引以及表定义(psql)


列出所有索引

\di
                      List of relations
 Schema |         Name          | Type  |  Owner   |  Table   
--------+-----------------------+-------+----------+----------
 public | employee_pkey         | index | postgres | employee
 public | idx_employee_emp_name | index | postgres | employee
(2 rows)

// 列出所有表的所有索引(psql)

Timescale 中的数据库索引与普通 PostgreSQL 中的索引工作方式相同。使用 Timescale 的超表(它抽象了分区,自动处理)时,Timescale 也会自动创建索引。 立即免费试用 Timescale.


从表中删除索引

drop index idx_employee_emp_name;

// 从表中删除现有索引(SQL)