PostgreSQL的性能优化

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: PostgreSQL 是全球最先进的开源数据库。作为学院派关系型数据库管理系统的鼻祖,它的优点主要集中在对 SQL 规范的完整实现以及丰富多样的数据类型支持。除了完美支持事务、子查询、多版本控制(MVCC)、数据完整性检查等特性外,阿里云数据库RDS for PostgreSQL 版还集成了高可用
PostgreSQL 是全球最先进的开源数据库。作为学院派关系型数据库管理系统的鼻祖,它的优点主要集中在对 SQL 规范的完整实现以及丰富多样的数据类型支持(JSON 数据、IP 数据和几何数据等,大部分商业数据库都不支持)。除了完美支持事务、子查询、多版本控制(MVCC)、数据完整性检查等特性外,阿里云数据库RDS for  PostgreSQL 版还集成了高可用和备份恢复等重要功能,减轻用户的运维压力。
PostgreSQL提供慢日志、SQL 运行报告、缺失索引等优化建议,用户可以根据优化建议并结合自身的应用方便的对数据库进行优化。接下来我们将介绍一下云数据库PostgreSQL 版性能优化的具体操作:

操作步骤
1.登录 RDS 管理控制台,选择【目标实例】。
2.在实例菜单中选择 【性能优化】。
3.在 性能优化 页面,查询 慢日志、SQL 运行报告、缺失索引 信息,如下图所示。 


对数据库PostgreSQL性能优化
以下是影响数据库性能的主要因素,用户可以根据这些信息采取一些措施来优化数据库:
慢日志:记录 1 个月内数据库中执行时间超过 1 秒(可以在 参数设置 中修改 long_query_time 参数来设置)的 SQL 语句,并进行相似语句去重,我们可以通过查询指定时间段内的指定数据库或者全部数据库进行优化数据库。
SQL 运行报告:SQL执行次数TOP10:统计执行时间大于5ms且执行次数排名前十的的SQL语句; 
SQL执行时间TOP10:统计执行时间排名前十且大于100ms的SQL语句; SQL语句取前128个字符。我们可以通过查询指定时间段内执行次数 TOP10 的 SQL 或者执行时长 TOP10 的 SQL来优化数据库。
缺失索引:记录缺失索引的数据库表信息,并推荐用户创建索引的 SQL 语句,用户可以根据推荐创建索引的 SQL 语句优化 SQL。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
关系型数据库 测试技术 分布式数据库
PolarDB | PostgreSQL 高并发队列处理业务的数据库性能优化实践
在电商业务中可能涉及这样的场景, 由于有上下游关系的存在, 1、用户下单后, 上下游厂商会在自己系统中生成一笔订单记录并反馈给对方, 2、在收到反馈订单后, 本地会先缓存反馈的订单记录队列, 3、然后后台再从缓存取出订单并进行处理. 如果是高并发的处理, 因为大家都按一个顺序获取, 容易产生热点, 可能遇到取出队列遇到锁冲突瓶颈、IO扫描浪费、CPU计算浪费的瓶颈. 以及在清除已处理订单后, 索引版本未及时清理导致的回表版本判断带来的IO浪费和CPU运算浪费瓶颈等. 本文将给出“队列处理业务的数据库性能优化”优化方法和demo演示. 性能提升10到20倍.
837 4
|
关系型数据库 PostgreSQL
PostgreSQL 性能优化: 等待事件
等待事件是 PostgreSQL 的重要优化工具。当您能查明会话为什么在等待资源以及会话在做什么时,您就能更好地减少瓶颈。您可以使用本节中的信息来查找可能的原因和纠正措施。
271 0
|
关系型数据库 PostgreSQL
PostgreSQL 性能优化: EXPLAIN 使用教程
PostgreSQL为每个收到的查询产生一个查询计划。选择正确的计划来匹配查询结构和数据的属性对于好的性能来说绝对是最关键的,因此系统包含了一个复杂的规划器来尝试选择好的计划。你可以使用EXPLAIN命令察看规划器为任何查询生成的查询计划。
235 0
|
关系型数据库 PostgreSQL 索引
PostgreSQL 性能优化: 执行计划
PostgreSQL为每个收到的查询产生一个查询计划。查询计划的结构是一个计划结点的树。最底层的结点是扫描结点:它们从表中返回未经处理的行。不同的表访问模式有不同的扫描结点类型:顺序扫描、索引扫描、位图索引扫描。也还有不是表的行来源,例如VALUES子句和FROM中返回集合的函数,它们有自己的结点类型。如果查询需要连接、聚集、排序、或者在未经处理的行上的其它操作,那么就会在扫描结点之上有其它额外的结点来执行这些操作。并且,做这些操作通常都有多种方法,因此在这些位置也有可能出现不同的结点类型。
119 0
|
存储 监控 AliSQL
RDS AliSQL 面向 Binlog 的性能优化大揭密(上)—— 极致 IO 优化
RDS MySQL使用AliSQL内核,为用户提供了MySQL所有的功能,同时提供了企业级的安全、备份、恢复、监控、性能优化、只读实例、Serverless等高级特性
3406 3
RDS AliSQL 面向 Binlog 的性能优化大揭密(上)—— 极致 IO 优化
|
AliSQL 关系型数据库 MySQL
RDS AliSQL 面向 Binlog 的性能优化大揭密(下)——强效瓶颈消除
本篇将继续揭秘AliSQL在binlog高并发性能上做的企业级优化。
RDS AliSQL 面向 Binlog 的性能优化大揭密(下)——强效瓶颈消除
|
缓存 运维 网络协议
PostgreSQL 性能优化和体系化运维(一)|学习笔记
快速学习 PostgreSQL 性能优化和体系化运维(一)
409 0
|
存储 SQL 关系型数据库
【PostgreSQL 创新营】第七课:PostgreSQL性能优化和体系化运维 答疑汇总
【PostgreSQL 创新营】第七课:PostgreSQL性能优化和体系化运维 答疑汇总
497 0
【PostgreSQL 创新营】第七课:PostgreSQL性能优化和体系化运维 答疑汇总
|
SQL 弹性计算 Oracle
PostgreSQL native partition 分区表性能优化之 - 动态SQL+服务端绑定变量
标签 PostgreSQL , 分区表 , native partition , 性能 , pg_pathman , plpgsql , 动态SQL , 服务端绑定变量 , prepare , execute 背景 目前PG的native partition分区性能不佳,一种解决方法是使用pg_pathman插件,另一种方法是业务上直接插分区,还有一种方法是使用UDF函数接口(函数内部使
1437 0
|
存储 Web App开发 关系型数据库
PostgreSQL PostGIS point join polygon (by ST_xxxx) - pglz_decompress 性能优化
标签 PostgreSQL , postgis , pglz_decompress , perf , tuning 背景 在空间数据中,通常会有轨迹、点、面的数据,假设有两张表,一张为面的表,一张为点的表,使用包含 ST_xxxx(c.geom, p.geom) 来进行JOIN(例如以面为单位,聚合统计点的数量)。
1511 0