当前位置: 首页 > news >正文

openGauss学习笔记-198 openGauss 数据库运维-常见故障定位案例-分析查询效率异常降低的问题

文章目录

    • openGauss学习笔记-198 openGauss 数据库运维-常见故障定位案例-分析查询效率异常降低的问题
      • 198.1 分析查询效率异常降低的问题
        • 198.1.1 问题现象
        • 198.1.2 处理办法

openGauss学习笔记-198 openGauss 数据库运维-常见故障定位案例-分析查询效率异常降低的问题

198.1 分析查询效率异常降低的问题

198.1.1 问题现象

通常在几十毫秒内完成的查询,有时会突然需要几秒的时间完成;而通常需要几秒完成的查询,有时需要半小时才能完成。

198.1.2 处理办法

通过下列的操作步骤,分析查询效率异常降低的原因。

  1. 使用analyze命令分析数据库。

    使用analyze命令会更新所有表中数据大小以及属性等相关统计信息,建议在作业压力较小时执行。如果此命令执行后性能恢复或者有所提升,则表明autovacuum未能很好的完成它的工作,有待进一步分析。

  2. 检查查询语句是否返回了多余的数据信息。

    例如,如果查询语句先查询一个表中所有的记录,而只用到结果中的前10条记录。对于包含50条记录的表,查询速度较快;但是,当表中包含的记录数达到50000条,查询效率将会有所下降。如果业务应用中存在只需要部分数据信息,但是查询语句却是返回所有信息的情况,建议修改查询语句,增加LIMIT子句来限制返回的记录数。这样使数据库优化器有了一定的优化空间,一定程度上会提升查询效率。

  3. 检查查询语句单独运行时是否仍然较慢。

    尝试在数据库没有其他查询或查询较少的时候运行查询语句,并观察运行效率。如果效率较高,则说明可能是由于之前运行数据库系统的主机负载过大导致查询低效。此外,还可能是由于执行计划比较低效,但是由于主机硬件较快使得查询效率较高。

  4. 检查重复相同查询语句的执行效率。

    查询效率低的一个重要原因是查询所需信息没有缓存在内存中,这可能是由于内存资源紧张,导致缓存信息被其他查询处理覆盖。重复执行相同的查询语句,如果后续执行的查询语句效率提升,则可能是由于上述原因导致。

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

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

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

图片

相关文章:

  • 多级缓存架构(二)Caffeine进程缓存
  • javascript的三元运算
  • 【办公类-19-01】20240108图书统计登记表制作(23个班级)EXCEL复制表格并合并表格
  • openssl3.2 - 官方demo学习 - mac - gmac.c
  • Visual Studio Code 1.67调整文件嵌套、Markdown导航
  • yolov7_Obb环境安装
  • YOLOv8改进 | 检测头篇 | 利用DBB重参数化模块魔改检测头实现暴力涨点 (支持检测、分割、关键点检测)
  • 红黑树(RBTree)
  • 如何在 Ubuntu 中更改时区设置
  • 谷歌地图多个maker标记点击显示当前信息弹窗infowindow
  • ardupilot开发 --- 固件定制(OEM) 篇
  • 任务12:使用Hadoop Streaming解压NCDC天气原始数据
  • Resize:最近邻插值、双线性插值、双三次插值
  • 1.环境部署
  • export 是一个在 Unix 和类 Unix 系统(比如 Linux 和 macOS)中常用的 shell 命令,主要用于设置或导出环境变量。
  • [NodeJS] 关于Buffer
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【译】理解JavaScript:new 关键字
  • Android框架之Volley
  • css布局,左右固定中间自适应实现
  • css系列之关于字体的事
  • IndexedDB
  • JAVA 学习IO流
  • MQ框架的比较
  • nodejs实现webservice问题总结
  • Promise面试题2实现异步串行执行
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Python语法速览与机器学习开发环境搭建
  • Spring Boot MyBatis配置多种数据库
  • SSH 免密登录
  • text-decoration与color属性
  • 聊聊sentinel的DegradeSlot
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 我建了一个叫Hello World的项目
  • 小程序开发中的那些坑
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • # 达梦数据库知识点
  • (C#)获取字符编码的类
  • (八十八)VFL语言初步 - 实现布局
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (四)linux文件内容查看
  • (算法)求1到1亿间的质数或素数
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • ***检测工具之RKHunter AIDE
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .NET命令行(CLI)常用命令
  • @staticmethod和@classmethod的作用与区别
  • [Angular 基础] - 指令(directives)
  • [BT]BUUCTF刷题第9天(3.27)
  • [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
  • [C/C++] -- 二叉树