您的位置:58编程 > PostgreSQL 实现

PostgreSQL 实现

2023-05-22 06:33 PostgreSQL 实现

 PostgreSQL 实现

64.4.1. GiST 缓冲构建

64.4.1. GiST 缓冲构建

通过简单地插入所有元组来构建大型 GiST 索引很容易变得很慢,因为如果索引元组分散在索引中并且索引大到不足以放入在缓存中,插入操作需要执行很多随机 I/O。从版本 9.2 开始,PostgreSQL 支持一种更有效率的方法来基于缓冲构建 GiST 索引,这能显著地减少用于非排序数据集所需的随机 I/O 数量。对于排序好的数据集这种收益很小甚至不存在,因为在那时只有少数页面会接收新元组,并且那些页面能放在缓存中(即便整个索引不能放在缓存中)。

但是,缓冲索引构建需要更频繁地调用penalty函数,这会消耗更多额外的 CPU 资源。还有,在缓冲构建中使用的缓冲区需要临时磁盘空间,最多为结果索引的尺寸。缓冲也可能影响结果索引的质量,不管是正向还是负向。这种影响取决于多种因素,如输入数据的分布和操作符类的实现。

默认情况下,当索引尺寸达到effective_cache_size时,一个 GiST 索引构建会切换到缓冲方法。可以通过 CREATE INDEX 命令的buffering参数手工打开或关闭这个特性。默认行为对大部分情况是好的,但是如果输入数据是排序好的,关闭缓冲特性可能会加速构建过程。


阅读全文
以上是58编程为你收集整理的 PostgreSQL 实现全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  •  PostgreSQL 简介

    PostgreSQL 简介

    GIN意思是通用倒排索引。GIN被设计为处理被索引项为组合值的情况,并且这种索引所处理的查询需要搜索出现在组合项中的元素值。例...

  •  PostgreSQL 内建操作符类

    PostgreSQL 内建操作符类

    核心PostgreSQL发布包括了 表67.1中所示的 BRIN操作符类。 minmax操作符类存储范围内被索引列中出现的最小和最大值。 inclusion...

  •  PostgreSQL 系统目录声明和初始内容

    PostgreSQL 系统目录声明和初始内容

    目录69.1. 系统目录声明规则69.2. 系统目录初始数据69.2.1. 数据文件格式69.2.2. OID分配69.2.3. OID引用查找69.2.4. 数组类型的...

  •  PostgreSQL 多变量统计例子

    PostgreSQL 多变量统计例子

    70.2.1. 函数依赖70.2.2. N 个不同变量的计数70.2.3. MCV 列表70.2.1.函数依赖多元相关性可以用一个非常简单的数据集来演示 — ...

  •  PostgreSQL dblink_exec

    PostgreSQL dblink_exec

    dblink_exec — 在一个远程数据库中执行一个命令大纲dblink_exec(text connname, text sql [, bool fail_on_error]) returns tex...

  •  PostgreSQL dict_xsyn

    PostgreSQL dict_xsyn

    F.12.1. 配置F.12.2. 用法 dict_xsyn(扩展同义词字典)是一个附加全文搜索字典模板的例子。这种字典类型将词替换为它们的同义词...

  •  PostgreSQL pg_prewarm

    PostgreSQL pg_prewarm

    F.27.1. 函数F.27.2. 配置参数 pg_prewarm模块提供一种方便的方法把关系 数据载入到操作系统缓冲区或者 PostgreSQL缓冲区。可以...

  • oracle外键约束 Oracle 外键

    oracle外键约束 Oracle 外键

    外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性,本节教程将为大家带来Oracle中如何使用外键的方...

  •  SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句

    SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句

    SQL 视图(Views) 视图是可视化的表。 本章讲解如何创建、更新和删除视图。SQL CREATE VIEW 语句 在 SQL 中,视图是基于 SQL 语...

  • sql unique约束 SQL UNIQUE 约束

    sql unique约束 SQL UNIQUE 约束

    SQL UNIQUE 约束SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录。 UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了...

© 2024 58编程 58biancheng.com 版权所有 联系我们
桂ICP备12005667号-32 Powered by CMS