当前位置:   article > 正文

Pgsql索引相关操作sql_pgsql创建唯一索引

pgsql创建唯一索引

1、创建索引

索引类型默认采用 B-tree,using关键字指定索引方法名称,索引方法包括 btree, hash, gist, spgist, gin, 和 brin。PostgreSQL 会对主键列自动创建索引。

1.1单例索引

-- 格式
CREATE INDEX 索引名称 ON 表名 USING 索引方法 (字段)
-- 例子
CREATE INDEX systemtime_index ON buct_composedata USING btree(systemtime)
  • 1
  • 2
  • 3
  • 4

1.2组合索引

-- 格式
CREATE [ UNIQUE ] INDEX [ [ IF NOT EXISTS ] 索引名称]
    ON 表名 [ USING 索引方法]
(
    字段名称1 [ ASC | DESC ] [ NULLS { FIRST | LAST } ]
    [, ...]
);

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • name 索引的名称。它是可选的。如果您不指定索引名称,PostgreSQL 将会自动生成一个。
  • table_name 是要为其创建索引的表名。
  • method 是索引方法的名称。包括 btree, hash, gist, spgist, gin, 和 brin。 btree 是默认的方法。您可以查看索引类型以了解更多。
  • column_name 是要创建索引的列名。
  • [ ASC | DESC ] 指定排序是顺序还是逆序。 它是可选的, ASC 是默认值。
  • NULLS FIRST 或 NULLS LAST 指定排序时空值在非空值之前或之后。当指定 DESC 时, NULLS - FIRST 是默认的,否则 NULLS LAST 是默认的。
  • UNIQUE 指示创建一个唯一索引。
  • IF NOT EXISTS 指示只有指定的索引名称不存在时才创建索引。

2、查询索引

--查看索引信息
select * from pg_indexes where tablename='表名';
select * from pg_statio_all_indexes  where relname='表名';
  • 1
  • 2
  • 3

3、删除索引

-- 格式
drop index 索引名称;
  • 1
  • 2

4、重建索引

4.1重建单索引

REINDEX INDEX 索引名称;
  • 1

4.2重建单表的所有索引

REINDEX TABLE 表名;
  • 1

4.3重建一个架构的所有索引

REINDEX SCHEMA 架构名称;
  • 1

4.4重建一个数据库中的所有索引

REINDEX DATABASE 数据库名称;
  • 1

4.5重建一个数据中的系统目录上的所有索引

REINDEX SYSTEM 数据库名称;
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/606107
推荐阅读
相关标签
  

闽ICP备14008679号