文章 2022-02-17 来自:开发者社区

PostgreSQL pageinspect 诊断与优化GIN (倒排) 索引合并延迟导致的查询性能下降问题

标签 PostgreSQL , brin索引 , gin索引 , 合并延迟 , gin_pending_list_limit , 查询性能下降 背景 GIN索引为PostgreSQL数据库多值类型的倒排索引,一条记录可能涉及到多个GIN索引中的KEY,所以如果写入时实时合并索引,会导致IO急剧增加,写入RT必然增加。为了提高写入吞吐,PG允许用户开启GIN索引的延迟合并技术,开启后,数据会先...

文章 2022-02-17 来自:开发者社区

PostgreSQL 无会话、有会话模式 - 客服平均响应速度(RT)实时计算实践(窗口查询\流计算)

标签 PostgreSQL , 无会话 , 客服响应速度 , 触发器 , rule , 窗口查询 背景 通常客服系统可能存在一对多,多对多的情况。 例如, 我们在使用淘宝时,与店家交流时,你根本不知道后面的小二是一个人还是多个人共用一个账号,还有可能是多个人使用了多个账号但是对消费者只看到一个。 例如: 小二(n)账号 -> 统一对外账号 -> 消费者 还有的情况是一个小二为多个...

文章 2022-02-17 来自:开发者社区

PostgreSQL 设计优化case - 大宽表任意字段组合查询索引如何选择(btree, gin, rum) - (含单个索引列数超过32列的方法)

标签 PostgreSQL , adhoc查询 , 大宽表 , 任意字段组合查询 , 索引 , btree , gin , rum 背景 大宽表,任意字段组合查询,透视。是实时分析系统中的常见需求: 1、实时写入。 2、实时任意字段组合查询、透视。 PostgreSQL中,有多种方法支持这种场景: 《PostgreSQL 9种索引的原理和应用场景》 1、方法1,每个字段加一个索引(普通类型用...

文章 2022-02-17 来自:开发者社区

PostgreSQL 11 新特性解读: psql 新增 \\gdesc 显示查询结果的列名和类型

PostgreSQL 11 的 psql 新增 gdesc 选项,此选项可以返回查询结果的列名和类型,而不实际执行SQL。 Release 说明 psqlAdd psql command gdesc to display the column names and types of the query output (Pavel Stehule) gdesc 选项说明 gdesc Shows th....

文章 2022-02-17 来自:开发者社区

PostgreSQL 并行查询概述

大数据时代,人们使用数据库系统处理的数据量越来越大,请求越来越复杂,对数据库系统的大数据处理能力和混合负载能力提出更高的要求。PostgreSQL 作为世界上最先进的开源数据库,在大数据处理方面做了很多工作,如并行和分区。PostgreSQL 从 2016 年发布的 9.6 开始支持并行,在此之前,PostgreSQL 仅能使用一个进程处理用户的请求,无法充分利用资源,亦无法很好地满足大数据量、....

PostgreSQL 并行查询概述
文章 2022-02-17 来自:开发者社区

PostgreSQL 数据库内外查询速度比较

数据库内使用 Rust 编写存储过程,使用 pgxr 程序库; 数据库外使用 Go 语言,使用 pgx 连接数据库进行查询; 逻辑都是查询某个表的字段列表,循环执行10000次; 测试结果如下: Rust 存储过程: test_sql_speed: 26.810285862s Go 连接数据库查询: 32.746561715s Go 语言只建立一次连接。 看...

文章 2022-02-17 来自:开发者社区

用PostgreSQL 做实时高效 搜索引擎 - 全文检索、模糊查询、正则查询、相似查询、ADHOC查询

用PostgreSQL 做实时高效 搜索引擎 - 全文检索、模糊查询、正则查询、相似查询、ADHOC查询作者digoal 日期2017-12-05 标签PostgreSQL , 搜索引擎 , GIN , ranking , high light , 全文检索 , 模糊查询 , 正则查询 , 相似查询 , ADHOC查询 背景字符串搜索是非常常见的业务需求,它包括: 1、前缀+模糊查询。(可以使用....

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 IV. 客户端接口_第 33 章 libpq - C 库_33.6. 取消进行中的查询

33.6. 取消进行中的查询 一个客户端应用可以使用本节描述的函数请求取消一个仍在被服务器处理的命令。 PQgetCancel 创建一个数据结构,这个数据结构包含取消一个通过特定数据库连接发出的命令所需要的信息。 PGcancel *PQgetCancel(PGconn *conn); 给出一个PQgetCancel连接对象,PQgetCancel创建一个 PGcancel对象。如果给....

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 IV. 客户端接口_第 33 章 libpq - C 库_33.5. 一行一行地检索查询结果

33.5. 一行一行地检索查询结果 通常,libpq会收集一个 SQL 命令的整个结果并且把它作为单个PGresult返回给应用。这对于返回大量行的命令是行不通的。对于这类情况,应用可以使用PQsendQuery和PQgetResult的单行模式。在这种模式中,结果行以一次一行的方式被返回给应用。 要进入到单行模式,在一次成功的PQsendQuery(或者其他兄弟函数)调用后立即调用PQ...

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 III. 服务器管理_第 19 章 服务器配置_19.7. 查询规划

19.7. 查询规划 19.7.1. 规划器方法配制 19.7.2. 规划器代价常量 19.7.3. 遗传查询优化 19.7.4. 其他规划器选项 19.7.1. 规划器方法配制 这些配置参数影响查询优化器选择查询计划的暴力方法。如果优化器为一个特定查询选择的默认计划不是最优的,一种临时解决方案是使用这些配置参数之一来强制优化器选择一个不同的计划。提高优化器选择的计划质量的更好...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

相关镜像