Code前端首页关于Code前端联系我们

重要特性,创建、类型、删除以及如何避免使用 PostgreSQL 索引?

terry 2年前 (2023-09-26) 阅读数 42 #数据库

什么是索引?

索引是一种特殊的查找表,用于加快从数据库中检索数据的速度。数据库索引类似于书籍索引(目录)。索引为索引列中出现的每个值创建一个条目。

数据库索引的重要特性

  • 索引使用SELECT查询和WHERE使用♸子句来加快数据输出速度,但它会加快数据输出速度。 INSERT 和 数据已插入 UPDATE 语句。
  • 您可以创建或删除索引,而不会影响您的数据。
  • 您可以使用语句CREATE INDEX创建索引,并指定索引名称以及创建索引的表或列的名称。
  • 您还可以创建唯一索引,类似于唯一约束,它可以防止列或列组合中出现重复条目​​。

PostgreSQL 创建索引

创建INDEX 语句用于创建PostgreSQL索引。

语法

CREATE INDEX index_name ON table_name;
SQL

索引类型

PostgreSQL 中有多种类型的索引,例如 ›B-tree❀B-tree , GiSTSP-GiSTGIN等。每种类型的索引根据不同的查询使用不同的算法。默认情况下,命令 REATE INDEX 使用索引 B 树

单列索引

如果只在表的一个列上创建索引,则称为单列索引。

语法:

CREATE INDEX index_name  
ON table_name (column_name);
SQL

示例

我们有一个名为“EMPLOYEE

”的表,其中包含以下数据♺♺ 在表“EMPLOYEE”中创建索引的“employees_index”列“name”。 ?
PostgreSQL索引的重要特点、创建、类型、删除及如何避免使用?

多列索引

如果索引是使用多列创建的一个表,就称为多列索引。

语法:

CREATE INDEX index_name  
ON table_name (column1_name, column2_name);
sql

让我们创建一个多列索引,在同一表“同一表”上名为“multicolumn_index”语句:

CREATE INDEX multicolumn_index  
ON EMPLOYEES (name, salary);
SQL

执行结果如下-

PostgreSQL索引的重要特点、创建、类型、删除及如何避免使用?

唯一索引

创建唯一索引,实现数据完整性,提高性能。它不允许向表中插入重复值,或者在原始表中具有相同记录的列上创建索引。

语法:

CREATE UNIQUE INDEX index_name  
on table_name (column_name);
SQL

例如,在name

  • 上创建唯一索引将收到错误 -employees
    CREATE UNIQUE INDEX unique_on_name  
    on employees (name);
    
    SQL

    如下图(有nameMinsu) -

    PostgreSQL索引的重要特点、创建、类型、删除及如何避免使用?

    PostgreSQL '删除索引使用索引❀DR删除索引是索引PostgreSQL。如果删除索引,可能会降低或提高性能。

    语法:

    DROP INDEX index_name;
    
    SQL

    作为示例,我们删除之前创建的名为“multicolumn_index”的索引。

    执行以下查询语句:

    DROP INDEX multicolumn_index;
    
    SQL

    现在可以看到名为“multicolumn_indexd”的索引已被删除。看表结构employee -

    PostgreSQL索引的重要特点、创建、类型、删除及如何避免使用?

    什么时候不应该使用索引?

    • 应避免在小表上使用索引。
    • 不要频繁地在表上创建索引、进行大量的更新或插入操作。
    • 索引不应用于包含许多 NULL 值的列。
    • 不要在经常操作(修改)的列上创建索引。
  • 版权声明

    本文仅代表作者观点,不代表Code前端网立场。
    本文系作者Code前端网发表,如需转载,请注明页面地址。

    发表评论:

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    热门