pg 创建/删除/查看 索引
2023-01-05 本文已影响0人
饱饱想要灵感
查看表的索引
psql命名行中, 使用命令
\d+ 表名
单列索引
单列索引是一个只基于表的一个列上创建的索引,基本语法如下:
CREATE INDEX index_name ON table_name (column_name);
组合索引
组合索引是基于表的多列上创建的索引,基本语法如下:
CREATE INDEX index_name ON table_name (column1_name, column2_name);
不管是单列索引还是组合索引,该索引必须是在 WHERE 子句的过滤条件中使用非常频繁的列。
如果只有一列被使用到,就选择单列索引,如果有多列就使用组合索引。
唯一索引
使用唯一索引不仅是为了性能,同时也为了数据的完整性。唯一索引不允许任何重复的值插入到表中。基本语法如下:
CREATE UNIQUE INDEX index_name on table_name (column_name);
局部索引
局部索引 是在表的子集上构建的索引;子集由一个条件表达式上定义。索引只包含满足条件的行。基础语法如下:
CREATE INDEX index_name on table_name (conditional_expression);
删除索引
DROP INDEX index_name;
索引建立基本准则
- 不能用在数据量小的表上。
- 不能用在频繁进行大批量更新或插入的表上。
- 不能用在含有大量的 NULL 值的列上。
- 不能用在频繁操作的列上。