[kingbase运维之奇怪的现象]

news2024/11/25 0:55:22

#[kingbase运维之奇怪的现象]
##奇怪的现象
某银行数据中心应用反馈,业务接口日志记录了很多执行慢的SQL,出现的时间是随机的,单独在数据库客户端工具执行会很快返回结果。根据之前的经验推断是业务代码传入的参数类型与数据库表结构字段定义类型不一致,发送了隐式类型转换计划未走索引导致执行慢。带着这个推断与业务开发进行交流了解,反馈是会存在类型不完全匹配的情况,但是之前不慢,最近变慢了。带着疑问去我们去收集一下信息,为此我们需要开启数据库慢日志和auto_explain功能,打印SQL执行计划。
##auto_explain 工具介绍
这里我们先介绍一下auto_explain这个插件。官方文档链接[link]
(https://www.postgresql.org/docs/current/auto-explain.html)

The auto_explain module provides a means for logging execution plans of slow statements automatically, without having to run EXPLAIN by hand. This is especially helpful for tracking down un-optimized queries in large applications

让我们再问一下憨憨的gpt,开启auto_explain是否会对数据库性能产生影响呢?

auto_explain introduce
kingbase最新版本默认带auto_explain,只需要修改数据库配置文件,库里创建扩展即可。PostgreSQL默认不带此插件需要编译安装一下。

$ vi /../data/kingbase.conf
$文件添加参数如下:
shared_preload_libraries =  'auto_explain'
auto_explain.log_min_duration=1000
auto_explain.log_analyze=on

效果演示:
show
工具已经准备好,接下来就是生产环境数据库开启此参数。额 , 熟悉银行运维开发的工程师都知道银行生产变更最重要的是流程要规范,准备变更申请单、提交测试验证报告、仿真环境验证测试…接下来领导审批,才能在生产进行变更。
##分析慢的原因
工具已经有了,接下来让我们一起看一下这个奇怪的现象背后SQL到底是如何执行的。

未完待续…

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

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

相关文章

HDD-FAT32 ZIP-FAT32 HDD-FAT16 ZIP-FAT16 HDD-NTFS

FAT32、FAT16指的是分区格式, FAT16单个文件最大2G FAT32单个文件最大4G NTFS单个文件大于4G HDD是硬盘启动 ZIP是软盘启动 U盘选HDD HDD-NTFS

buuctf crypto 【还原大师】解题记录

1.打开题目就能直接看到密文 2.感觉爆破直接能解,试试爆破(参考文章:[buuctf] crypto全解——前84道(不建议直接抄flag)_buuctf crypto_咸鱼壹号的博客-CSDN博客) import hashlib k TASC?O3RJMV?WDJKX?…

建筑模板9层板和7层板的区别

建筑模板是建筑施工过程中不可或缺的一环,而在建筑模板的选择中,常见的有9层板和7层板两种选项。它们在结构、特性和应用方面存在一些区别。下面将详细探讨9层板和7层板之间的区别。 首先,9层板和7层板的名称源自其板材的层数。9层板由9层木片…

Docker容器技术实战-1

1.docker容器 docker就好比传统的货运集装箱 每个虚拟机都有独立的操作系统,互不干扰,在这个虚拟机里可以跑任何东西 如应用 文件系统随便装,通过Guest OS 做了一个完全隔离,所以安全性很好,互不影响 容器 没有虚拟化…

Tomcat配置ssl、jar包

Tomcat配置ssl 部署tomcat服务,项目做到用https访问,使用nginx去做,访问任意一个子网站,都是https 或者 医美项目需要 上传jdk 456 tomcat war包 [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/…

AI绘画:StableDiffusion实操教程-斗破苍穹-云韵-常服(附高清图下载)

前段时间我分享了StableDiffusion的非常完整的教程:“AI绘画:Stable Diffusion 终极宝典:从入门到精通 ” 不久前,我与大家分享了StableDiffusion的全面教程:“AI绘画:Stable Diffusion 终极宝典&#xff…

用Navicat备份Mysql演示系统数据库的时候出:Too Many Connections

今天用Navicat进行数据备份的时候,发现由于数据库连接数目过多导致连接锁定,这种情况在多人协同开发的场景中很常见。当然我这里也因为多个应用使用了数据库连接,所以出现了Too Many Connections。 可能是超过最大连接数了。 1、进入Navicat…

【JAVA-Day03】JDK安装与IntelliJ IDEA安装、配置环境变量

JDK安装与IntelliJ IDEA安装、配置环境变量 一、JDK 版本介绍1.1 JDK 版本选择JDK 8JDK 11JDK 16JDK 171.2 JDK 下载1.3 JDK 安装1.4 配置环境变量1.5 验证 JDK 安装 二、开发利器——IntelliJ IDEA 的安装2.1 IntelliJ IDEA下载2.2 IntelliJ IDEA安装2.3 IntelliJ IDEA启动2.4…

编译原理:编译原理简明教程知识点梳理(应对考试版)

前言 姜老师是一个好老师,编译原理没有过是我的问题,我爱姜老师。 写这篇博客涉及到好多符号,可以参考这篇文章latex数学公式详细教程 因为打字过于麻烦,很多内容用平板的手写截图,还有电脑截图替代,不太习…

【刷题篇】贪心算法(一)

文章目录 分割平衡字符串买卖股票的最佳时机Ⅱ跳跃游戏钱币找零 分割平衡字符串 class Solution { public:int balancedStringSplit(string s) {int lens.size();int cnt0;int balance0;for(int i0;i<len;i){if(s[i]R){balance--;}else{balance;}if(balance0){cnt;}}return …

MyBatis框架中各种参数类型绑定的方式

MyBatis框架中各种参数类型绑定的方式 一、MyBatis参数绑定 MyBatis框架中&#xff0c;通过Mapper接口和Mapper映射文件的方式来操作数据库的时候&#xff0c;可能需要通过Mapper接口中的方法传递相应的参数拼接到SQL语句上面&#xff0c;那么Mybatis将传递的参数映射到对应S…

用python实现基本数据结构【03/4】

说明 如果需要用到这些知识却没有掌握&#xff0c;则会让人感到沮丧&#xff0c;也可能导致面试被拒。无论是花几天时间“突击”&#xff0c;还是利用零碎的时间持续学习&#xff0c;在数据结构上下点功夫都是值得的。那么Python 中有哪些数据结构呢&#xff1f;列表、字典、集…

03_瑞萨GUI(LVGL)移植实战教程之驱动触摸屏(I2C)

本系列教程配套出有视频教程&#xff0c;观看地址&#xff1a;https://www.bilibili.com/video/BV1gV4y1e7Sg # 3. 驱动触摸屏(I2C) 本次实验我们在上一次实验的基础上驱动I2C触摸屏。从这次实验开始&#xff0c;我们不需要重新创建工程&#xff0c;而是在上一次实验项目的基础…

【Unity编辑器扩展】| SceneView面板扩展

前言【Unity编辑器扩展】| SceneView面板扩展一、Scene界面添加右键菜单二、自定义菜单的方式三、Scene视图中禁用选择对象四、OnSceneGUI()五、Gizmos5.1 绘制线框5.2 拓展方法六、Handles总结前言 前面我们介绍了Unity中编辑器扩展的一些基本概念及基础知识,还有编辑器扩展中…

IDEA中的MySQL数据库所需驱动包的下载和导入方法

文章目录 下载驱动导入方法 下载驱动 MySQL数据库驱动文件下载方法&#xff1a; 最新版的MySQL版本的驱动获取方法&#xff0c;这个超链接是下载介绍的博客 除最新版以外的MySQL版本的驱动获取方法&#xff0c;选择Platform Independent&#xff0c;选择第二个zip压缩包虾藻…

华清远见第六课程作业day3

类 栈 #include <iostream>using namespace std;class Sta{ private:int *data;int top; public:Sta():data(new int(128)){top-1;cout<<"stack::无参构造:"<<endl;}~Sta(){delete data;cout<<"stack::析构函数:"<<this<…

信息安全技术概论-李剑-持续更新

图片和细节来源于 用户 xiejava1018 一.概述 随着计算机网络技术的发展&#xff0c;与时代的变化&#xff0c;计算机病毒也经历了从早期的破坏为主到勒索钱财敲诈经济为主&#xff0c;破坏方式也多种多样&#xff0c;由早期的破坏网络到破坏硬件设备等等 &#xff0c;这也…

顾曼宁(顾曼):颠覆行业,引领共享伞新浪潮

在共享经济浪潮中&#xff0c;有一位勇敢的女性创业者&#xff0c;以其卓越的洞察力和创新思维&#xff0c;成为国内共享晴雨伞行业的领航者——她就是顾曼宁&#xff08;顾曼&#xff09;。作为行业颠覆者和蚂蚁金服战略投资的受益者&#xff0c;她的创业历程彰显了女性创业者…

【Kafka】Kafka再平衡机制及相关参数

背景 Kafka作为一款基于发布订阅模式的消息队列&#xff0c;生产者将消息发送到Kafka集群&#xff08;Brokers&#xff09;中&#xff0c;消费者&#xff08;Consumer Group &#xff09;拉取消息进行消费&#xff0c;实现了异步机制。Kafka中&#xff0c;消费者通常以消费者组…

【Python从入门到进阶】35、selenium基本语法学习

接上篇《34、selenium基本概念及安装流程》 上一篇我们介绍了selenium技术的基础概念以及安装和调用的流程&#xff0c;本篇我们来学习selenium的基本语法&#xff0c;包括元素定位以及访问元素信息的操作。 一、元素定位 Selenium元素定位是指通过特定的方法在网页中准确定位…