PostgreSQL索引类型

PostgreSQL索引类型PostgreSQL有很多索引类型。每种索引类型都有各自适用的情景,具体使用哪一种索引取决于数据类型、表中的底层基本数据和执行的查询类型。接下来简单看一下PostgreSQL中可用的索引类型有哪些,以及各种情况下适合使用哪个索引。1、B-treePostgreSQL中,B-tree索引是最常用的一种索引类型。用索引扫描比顺序扫描速度快,因为它可能只需要读取少部分页面,而顺序扫描可能读取几千个页面。…

大家好,又见面了,我是你们的朋友全栈君。

作者:瀚高PG实验室 (Highgo PG Lab)

PostgreSQL有很多索引类型。每种索引类型都有各自适用的情景,具体使用哪一种索引取决于数据类型、表中的底层基本数据和执行的查询类型。

接下来简单看一下PostgreSQL中可用的索引类型有哪些,以及各种情况下适合使用哪个索引。

1、B-tree

PostgreSQL中,B-tree索引是最常用的一种索引类型。

用索引扫描比顺序扫描速度快,因为它可能只需要读取少部分页面,而顺序扫描可能读取几千个页面。

默认情况下,使用CREATE INDEX语句,会创建一个B-tree索引,这对于大多数常用数据类型比如文本、数字等的适用性很强。

2、GIN

当数据类型在一列中包含多个值时适用。

这种情况下最常见的数据类型是hstore、range、jsonb等,并不是所有的数据类型都支持这种索引类型。

3、GiST

GiST索引适用的情况是:

有一些数据,它们和其他行的同一列中的值在某种程度上相互覆盖,此时适用。

最合适的数据类型是:几何类型、全文检索时的文本类型。

4、SP-GiST

空间分区GiST索引,适用于较大的数据,当数据有自然聚类元素时最适用,典型的例子是电话号码。

5、BRIN

适用于较大的数据,和SP-GiST类似。

当有非常大的数据表,而且按时间、邮政编码排好顺序时,BRIN索引允许快速的跳过或排除很多不需要的数据。

6、哈希索引

可以提供比B-tree索引更快的查询。但最大的问题是被限制在等值上所以需要寻找准确的匹配。这使得哈希索引不那么灵活。

总结

B-tree 适用于大多数数据类型和查询。

GIN 适用于json/hstore数据类型。

GiST 适用于全文检索和地理空间数据类型。

SP-GiST 适用于带有自然但不均匀聚类的较大的数据库。

BRIN 适用于顺序排列的特别大的表。

Hash 适用于等值查询操作。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136801.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月2日 下午11:36
下一篇 2022年6月2日 下午11:36


相关推荐

  • 用C语言播放mp3格式的音乐

    用C语言播放mp3格式的音乐目录前言之前有写过在 c 程序里添加背景音乐 用的是 PlaySound 这个函数不过这个函数是只能播放 wav 格式的音乐 这次是用 mciSendStrin 函数可以用来播放 MP3 格式的音乐如何用 c 语言插入 背景 音乐 mciSendStrin 函数简介 mciSendStrin 是用来播放多媒体文件的 API 指令 可以播放 MPEG AVI WAV MP3 等等 需要的头文件 include mmsystem h 基本的播放音乐模板 include windows h i windows h mmsystem h

    2026年3月17日
    2
  • java 析构方法_java析构方法详解

    java 析构方法_java析构方法详解之前给大家介绍了一下 java 构造方法 那么下面要给大家讲到的就是 java 析构方法 下面一起通过文章来了解一下吧 析构方法和构造方法不同 真好是相反的 在对象脱离其作用域的时候 系统自动执行析构方法 析构方法往往用来做清理垃圾碎片的工作 例如 在建立对象的时候 用 new 开辟了一片内存空间 应退出前在析构方法当中将它释放 在 java 的 Object 类当中 还提供了一个 protected 类型的 finali

    2026年3月18日
    2
  • 什么是CWPP

    什么是CWPP文章目录什么是 CWPP 云工作负载保护平台 CWPP 相关典型厂商安全狗参考什么是 CWPP 云工作保护平台 CloudWorkloa 简称 CWPP 自 2016 年到 2019 年连续四年 Gartner 的市场指南 MarketGuide 分析报告中可以看出这四年里面的 CWPP 产品的定义 基本产品特性以及厂商都发生了很大的变化 同时云安全炒作曲线 HypeCycle 也完成了从膨胀期到幻灭期的周期 在每年的云安全最酷厂商 CoolVendor 中也不断有 CWPP 厂商的

    2026年3月19日
    2
  • 百度map android sdk3.5实现定位 并跳转的指定坐标,加入标记

    百度map android sdk3.5实现定位 并跳转的指定坐标,加入标记

    2022年1月20日
    76
  • pycharm安装第三方库失败解决方案

    pycharm安装第三方库失败解决方案0 前言我们在使用 python 的时候 经常会需要用到第三方库 那么怎样快速 顺利地完成第三方库的安装就成了至关重要的一步 本文将介绍 pycharm 中安装第三方库的一般常用方法 以及经常遇到的问题及解决方案 1 安装方法 1 1pip 安装在 pycharm 终端或者 cmd 中输入命令 pipinstall 包名 然后回车即可 1 2pycharm settings 安装这是一个不需要命令的安装方法 File Settings ProjectInter 点加号 如图

    2026年3月27日
    3
  • 彻底解决mysql中文乱码

    彻底解决mysql中文乱码mysql是我们项目中非常常用的数据型数据库。但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况。下面就来介绍一下如何彻底解决数据库中文乱码情况。

    2022年5月11日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号