美文网首页
PostgreSQL基础知识--索引

PostgreSQL基础知识--索引

作者: Amy1234567 | 来源:发表于2021-04-29 15:14 被阅读0次

索引是增强数据库性能的常用方法。索引使得数据库在查找和检索数据库的特定行的时候比没有索引快得多。但索引页增加了整个数据库徐彤的开销,所以应该合理使用。

一,索引类型

PostgreSQL提供了多种索引类型:B-Tree, Hash, GiST和GIN, 由于它们使用了不同的算法,因此每种索引类型都有其合适的查询类型,缺省时,CREATE INDEX命令将创建B-Tree索引。

1. B-Tree

my test my test

B-Tree索引主要用于“等于”和“范围”查询,特别是当索引包含操作符"<, <=, =, >=, >"作为查询条件时,PostgreSQL的查询规划器都会考虑使用B-Tree索引。在使用BETWEEN, IN, IS NULL, IS NOT NULL的查询中,postgreSQL也可以使用B-Tree索引。然而对于基于模式匹配操作符的查询,如LIKE, ILIKE, ~ 和 ~*, 仅当模式存在一个常量,且该常量位于模式字符串的开头时,如col like 'foo%' 或 col ~ '^foo',索引才会生效,否则将会进行全表扫描, 如 col LIKE '%bar'。

测试表

my test my test my test

2. Hash

散列(Hash)索引只能处理简单的“等于”比较。当索引列使用“等于”操作符进行比较时,查询规划器会考虑使用散列索引。

这里需要额外说明的是,PostgreSQL散列索引的性能不比B-Tree索引强,但是散列索引的尺寸和构造时间则更差。另外,由于散列索引操作目前没有记录WAL日志,因此一旦发生了数据库崩溃,我们将不得不用REINDEX重建散列索引。

my test my test

3. GiST

Gist索引不是一种单独的索引类型,而是一种架构,可以在该架构上实现很多不同的索引策略。从而可以使GiST索引根据不同的索引策略,而使用特定的操作符类型。 作为示例,PostgreSQL的标准发布中包含用于二维几何数据类型的 GiST 操作符类,它支持:

手册

4. GIN

GIN索引是反转索引,它可以出来包含多个键的值(包括数组)。与GiST类似,GIN同样支持用户定义的索引策略。从而可以使GIN索引根据不同的索引策略,而使用特定的操作符类型。作为示例,PostgreSQL的标准发布中包含了用于一维数组的GIN操作符类型,如:<@、@>、=、&&等。

手册

二,复合索引

 PostgreSQL中的索引可以定义在数据表的多个字段上

my test my test my test my test my test

太难了,理解不了,除了会创建会删除,真的有点理解不了~

相关文章

  • PostgreSQL基础知识--索引

    索引是增强数据库性能的常用方法。索引使得数据库在查找和检索数据库的特定行的时候比没有索引快得多。但索引页增加了整个...

  • 在 Elixir/Ecto 中使用 PostgreSQL JSO

    Elixir PostgreSQL index JSON 索引 Ecto PostgreSQL 提供了丰富的数据类...

  • PostgreSQL索引

    索引是对数据库中一列或几列的数据按照特定的数据结构进行排序保存的一种方式。使用索引可以加快数据库查询或排序时的速度...

  • PostgreSQL中文全文索引

    搭建PostgreSQL中文全文索引环境,使用SCWS和zhaparser 1.安装postgreSQL 1.1....

  • 数据库篇

    2018.07.04 postgresql查询表的大小 数据库中单个表的大小(不包括索引) postgresql的...

  • PostGis空间索引

    索引的种类 PostgreSQL默认支持3种索引:B-Treeindexes, R-Treeindexes和 Gi...

  • PostgreSQL常用命令

    添加索引 https://devcenter.heroku.com/articles/postgresql-ind...

  • postgreSQL 索引(一)索引介绍

    总体介绍 索引是增强数据库性能的常用手段。索引的优点是可以帮助我们更快的查找和获取指定的行数据。但是如果数据库索引...

  • Mysql 基础知识(下)

    Mysql 基础知识(上) 1.4. Mysql的索引实现 1.4.1. 常见的索引 常见的索引有:普通索引、唯一...

  • mysql性能优化-慢查询分析、优化索引和配置

    mysql性能优化-慢查询分析、优化索引和配置 分类:Mysql/postgreSQL 目录 一、优化概述 二、查...

网友评论

      本文标题:PostgreSQL基础知识--索引

      本文链接:https://www.haomeiwen.com/subject/qqlfrltx.html