openGauss学习笔记-247 openGauss性能调优-SQL调优关键参数调整

文章目录

    • openGauss学习笔记-247 openGauss性能调优-SQL调优关键参数调整
      • 247.1 SQL调优关键参数调整

openGauss学习笔记-247 openGauss性能调优-SQL调优关键参数调整

247.1 SQL调优关键参数调整

本节将介绍影响openGauss SQL调优性能的关键数据库主节点配置参数,配置方法参见配置运行参数

表 1 数据库主节点配置参数

参数/参考值描述
enable_nestloop=on控制查询优化器对嵌套循环连接(Nest Loop Join)类型的使用。当设置为“on”后,优化器优先使用Nest Loop Join;当设置为“off”后,优化器在存在其他方法时将优先选择其他方法。说明:如果只需要在当前数据库连接(即当前Session)中临时更改该参数值,则只需要在SQL语句中执行如下命令:SET enable_nestloop to off;此参数默认设置为“on”,但实际调优中应根据情况选择是否关闭。一般情况下,在三种join方式(Nested Loop、Merge Join和Hash Join)里,Nested Loop性能较差,实际调优中可以选择关闭。
enable_bitmapscan=on控制查询优化器对位图扫描规划类型的使用。设置为“on”,表示使用;设置为“off”,表示不使用。说明:如果只需要在当前数据库连接(即当前Session)中临时更改该参数值,则只需要在SQL语句中执行命令如下命令:SET enable_bitmapscan to off;bitmapscan扫描方式适用于“where a > 1 and b > 1”且a列和b列都有索引这种查询条件,但有时其性能不如indexscan。因此,现场调优如发现查询性能较差且计划中有bitmapscan算子,可以关闭bitmapscan,看性能是否有提升。
enable_hashagg=on控制优化器对Hash聚集规划类型的使用。
enable_hashjoin=on控制优化器对Hash连接规划类型的使用。
enable_mergejoin=on控制优化器对融合连接规划类型的使用。
enable_indexscan=on控制优化器对索引扫描规划类型的使用。
enable_indexonlyscan=on控制优化器对仅索引扫描规划类型的使用。
enable_seqscan=on控制优化器对顺序扫描规划类型的使用。完全消除顺序扫描是不可能的,但是关闭这个变量会让优化器在存在其他方法的时候优先选择其他方法。
enable_sort=on控制优化器使用的排序步骤。该设置不可能完全消除明确的排序,但是关闭这个变量可以让优化器在存在其他方法的时候优先选择其他方法。
rewrite_rule控制优化器是否启用LAZY_AGG和MAGIC_SET重写规则。
sql_beta_feature控制优化器是否启用。SEL_SEMI_POISSON/SEL_EXPR_INSTR/PARAM_PATH_GEN/RAND_COST_OPT/PAGE_EST_OPT/PARAM_PATH_OPT/NO_UNIQUE_INDEX_FIRST/JOIN_SEL_WITH_CAST_FUNC/CANONICAL_PATHKEY/INDEX_COST_WITH_LEAF_PAGES_ONLY/PARTITION_OPFUSION/A_STYLE_COERCE/PLPGSQL_STREAM_FETCHALL/PREDPUSH_SAME_LEVEL/PARTITION_FDW_ON/DISABLE_BITMAP_COST_WITH_LOSSY_PAGES/EXTRACT_PUSHDOWN_OR_CLAUSE测试功能。
var_eq_const_selectivity控制优化器是否使用直方图计算整型常量的选择率。
partition_page_estimation控制分区表页面是否通过剪枝结果进行页面估算优化,只包括分区表和local索引页面,不包括全局索引页面。估算公式为:估算后页面 = 分区表总页面 * (剪枝后分区数 / 总分区数)。
partition_iterator_elimination控制分区表在分区剪枝结果为一个分区时,是否通过消除分区迭代算子来提升执行效率。
enable_functional_dependency控制函数依赖统计信息的使用。设置为“on”,开启两个功能:执行ANALYZE生成的多列统计信息包含函数依赖统计信息。计算选择率会使用函数依赖统计信息。设置为“off”,此两个功能不生效:执行ANALYZE生成的多列统计信息不包含函数依赖统计信息。计算选择率不会使用函数依赖统计信息。说明:函数依赖(Functional Dependency)的概念来自于关系数据库范式(Normal Form),表示属性间的函数关系。函数依赖统计信息,对此概念进行了扩展,表示满足函数关系的数据量占总数据量的比例。函数依赖统计信息是多列统计信息的一种,可以用于提升选择率估算的准确率。函数依赖统计信息适用于形如“where a = 1 and b = 1”的格式,要求a和b均是同一个表的属性,约束条件为等式约束,约束条件用AND连接,约束条件至少为两个。
enable_seqscan_fusion控制seqscan底噪消除是否打开。

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JVM】为对象分配内存的方式,死亡对象判断方法

目录 为对象分配内存的方式 指针碰撞 空闲列表 TLAB 死亡对象判断方法 引用计数法 可达性分析算法 为对象分配内存的方式 指针碰撞 一般情况下,JVM的对象都放在堆内存中(发生逃逸分析除外)。当类加载检查通过后,JVM为新生…

python 中怎样使用任意关键词实参?

在 Python 中,可以使用任意数量的关键字实参和任意关键字实参,也被称为 kwargs。 这允许你在函数调用时传递任意数量的关键字参数。 你可以使用任意数量的关键字实参(Keyword Arguments)和任意关键字实参(Arbitrary Ke…

sonar接入maven项目

1、介绍 sonar是一款静态代码质量分析工具,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,而且能够集成在IDE、Jenkins、Git等服务中,方便随时查看代码质量分析报告。他有如下特性 (1) 检查代码是否遵循编程标准:如命…

走迷宫---dfs在矩阵图里的应用模板

题目描述如下: dfs算法解决迷宫问题的一个标准模板 ,通过递归与回溯暴力遍历所有能走的点,并比较找出所有可行方案的最优解 解决这道问题的核心思想和组合数如出一辙,可以说是组合数的升级版 结合注释看dfs更清晰易懂&#xff0…

springcloud-Eureka注册中心

如果你要理解这个技术博客博客专栏 请先学习以下基本的知识: 什么是微服务什么是服务拆分什么是springcloud Springcloud为微服务开发提供了一个比较泛用和全面的解决框架,springcloud继承了spring一直以来的风格——不重复造轮子,里面很多的…

测试平台——前端框架

一、创建vue项目 npm init vitelatest web_class wylWYLdeMacBook-Air testplatform % npm init vitelatest web_class ✔ Select a framework: › Vue ✔ Select a variant: › JavaScriptScaffolding project in /Users/wyl/workspace/testplatform/web_class...Done. Now…

IoT 物联网场景中如何应对安全风险?——青创智通

工业物联网解决方案-工业IOT-青创智通 ​随着物联网(IoT)技术的快速发展,越来越多的设备、系统和应用被连接到互联网上,从而构建了一个庞大的物联网生态系统。然而,这种连接性也带来了前所未有的安全风险。在物联网场景…

Android Studio实现内容丰富的安卓校园公告助手

获取源码请点击文章末尾QQ名片联系,源码不免费,尊重创作,尊重劳动 093校园助手 1.开发环境 android stuido3.6 jak1.8 eclipse mysql tomcat 2.功能介绍 具体往下看第三节,功能截图 安卓端: 1.注册登录 2.校园公告列表…

持续集成平台 02 jenkins plugin 插件

拓展阅读 Devops-01-devops 是什么? Devops-02-Jpom 简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件 代码质量管理 SonarQube-01-入门介绍 项目管理平台-01-jira 入门介绍 缺陷跟踪管理系统,为针对缺陷管理、任务追踪和项目管理的商业…

【pip 安装pymssql报错】 Failed to build pymssql

在使用pip install pymssql安装pymssql时报如下图的错误&#xff1b; 报错截图 2&#xff09;查找资料说pip<3.0版本 &#xff0c;我也试了&#xff0c;不行。 你们也可以试一试&#xff1a;pip install"pymssql<3.0" 3&#xff09;我的成功方式&#xff1…

浅谈 电脑和车的对比

https://www.zhihu.com/question/547115488 电脑CPU与汽车发动机有哪些相同点与不同点&#xff1f; - 知乎 就想机械硬盘一样 我们的技术可能达不到 但是我们可以弯道超车 比如长江存储的SSD可以取代 以前的机械硬盘

流畅的 Python 第二版(GPT 重译)(八)

第十五章&#xff1a;关于类型提示的更多内容 我学到了一个痛苦的教训&#xff0c;对于小程序来说&#xff0c;动态类型很棒。对于大型程序&#xff0c;你需要更加纪律严明的方法。如果语言给予你这种纪律&#xff0c;而不是告诉你“嗯&#xff0c;你可以做任何你想做的事情”&…

WordPress Wholesale Market 插件 任意文件读取漏洞复现

0x01 产品简介 WordPress plugin Wholesale Market 是一个woocommerce扩展插件&#xff0c;使您的商店能够创建批发用户&#xff0c;并通过设置产品的批发价格。 0x02 漏洞概述 WordPress plugin Wholesale Market 2.2.1之前版本存在路径遍历漏洞&#xff0c;该漏洞源于没有…

海南省月降水量分布数据

海南省位于中国南端&#xff0c;海南岛地处热带北缘&#xff0c;属热带季风气候&#xff0c;长夏无冬。海南省雨量充沛&#xff0c;年降水量在1000毫米&#xff5e;2600毫米之间&#xff0c;年平均降水量为1639毫米&#xff0c;有明显的多雨季和少雨季。每年的5&#xff5e;10月…

鸿蒙Harmony应用开发—ArkTS-转场动画(组件内隐式共享元素转场)

geometryTransition用于组件内隐式共享元素转场&#xff0c;在组件显示切换过程中提供平滑过渡效果。通用transition机制提供了opacity、scale等转场动效&#xff0c;geometryTransition通过id绑定in/out组件(in指入场组件、out指出场组件)&#xff0c;使得组件原本独立的trans…

RabbitMQ--03--SpringAMQP(SpringBoot集成RabbitMQ)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 SpringAMQP1.SpringBoot 的支持https://spring.io/projects/spring-amqp 2.RabbitTemplate3.RabbitListener&#xff08;终极监听方案&#xff09;4.RabbitConfig--…

基于Springboot的防疫物资管理信息系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的防疫物资管理信息系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系…

IOS/Android App备案(uniapp)

IOS/App备案 IOS备案Android备案 IOS备案 准备好p12证书即可 链接: https://aitoolnav.caichuangkeji.com/#/AppMd5 Android备案 上DCLOUD开发者中心&#xff0c;找到相关应用后&#xff0c;直接查看证书即可获取到MD5 公钥&#xff1a;先根据上述页面下载证书&#xff0c;…

GaussDB(分布式)实例故障处理

一、说明 GaussDB Kernel实例出现故障时&#xff0c;可以按照本节的办法进行实例快速修复。 1、执行gs_om -t status --detail查看集群状态&#xff0c;cluster_state为Normal&#xff0c;balanced为No&#xff0c;请重置实例状态。 2、执行gs_om -t status --detail查看集群…

Python的内建比较函数cmp比较原理剖析

Python中的cmp()函数用于比较两个对象的大小。 cmp( x, y)&#xff1a;比较2个对象&#xff0c;前者小于后者返回-1&#xff0c;相等则返回0&#xff0c;大于后者返回1. Python的cmp比较函数比较原理 Python的cmp函数可以比较同类型之间&#xff0c;或者不同数据类型之间。然…