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

快速定位达梦缓存的执行计划并清理

开发告诉你一个sql慢,你想看看缓存中执行计划时,怎么精准快速定位?

可能一般人通过文本内容模糊搜索

select cache_item, substr(sqlstr,1,60)stmt from v$cachepln where sqlstr like '%YOUR SQL STRING%'; 

在这里插入图片描述
搜出来的内容比较多,研究一下执行计划缓存表
在这里插入图片描述
要快一点的技巧是增加几个条件,如:执行用户、表数量、列数量(最外层)
在这里插入图片描述
在这里插入图片描述
加上些已知条件剩余的就少了一些

select cache_item, substr(sqlstr,1,60)stmt from v$cachepln where sqlstr like '%from t1%' and n_table=1 and n_cols=1; 

在这里插入图片描述
定位到想要的sql后,下一步看看缓存的执行计划

alter session set events 'immediate trace name plndump level &id, dump_file ''/home/dmdba/dump_plan_&id..log''';

在这里插入图片描述
看输出内容 cat dump_plan_140726259863656.log
在这里插入图片描述
与实际的计划比较
在这里插入图片描述
一样一样的。

不一样怎么办?
有可能(我是说有可能)通过jdbc执行走旧的执行计划,而通过disql执行走新的执行计划。

方法一:通常是清理掉缓存中的计划

call sp_clear_plan_cache(pln号)---不加 pln 就是清理所有 sql 缓存

在这里插入图片描述

清理后会重新生成。
在这里插入图片描述
方法二:还可以通过对表加注释comment,触发ddl使得重新生成执行计划(有点儿眼熟)
在这里插入图片描述
方法三:实在不行就重启实例。

http://www.dtcms.com/a/148014.html

相关文章:

  • HTML页面结构最佳实践方案
  • Phyton简介与入门
  • TextCNN 模型文本分类实战:深度学习在自然语言处理中的应用
  • DeepSeek开源引爆AI Agent革命:应用生态迎来“安卓时刻”
  • 【Qt】QDialog类
  • PyTorch 多 GPU 入门:深入解析 nn.DataParallel 的工作原理与局限
  • 帕金森发病类型和阶段
  • 安徽京准:关于石油管道监控NTP时间同步服务器方案
  • 基于外部中中断机制,实现以下功能: 1.按键1,按下和释放后,点亮LED 2.按键2,按下和释放后,熄灭LED 3.按键3,按下和释放后,使得LED闪烁
  • WebRTC服务器Coturn服务器用户管理和安全性
  • PLOG安装
  • 掌握Prisma数据建模:从基础关系到高级技巧
  • 从零开始搭建你的个人博客:使用 GitHub Pages 免费部署静态网站
  • 乐视系列玩机---乐视2 x520 x528等系列线刷救砖以及刷写第三方twrp 卡刷第三方固件步骤解析
  • OpenCV中的透视变换方法详解
  • 【AI模型学习】Swin Transformer——优雅的模型
  • 图像预处理-直方图均衡化
  • WebRTC服务器Coturn服务器的管理平台功能
  • 再次理解 瓦瑟斯坦距离(Wasserstein Distance)
  • 【C语言】初阶算法相关习题(一)
  • Docker 部署 Redis 缓存服务
  • 安宝特案例 | 某知名日系汽车制造厂,借助AR实现智慧化转型
  • 安宝特分享|AR智能装备赋能企业效率跃升
  • BEVDepth: Acquisition of Reliable Depth for Multi-View 3D Object Detection
  • leetcode 二分查找
  • 神经网络 “疑难杂症” 破解指南:梯度消失与爆炸全攻略(六)
  • 信奥赛CSP-J复赛集训(DP专题)(19):P3399 丝绸之路
  • Trent硬件工程师培训完整135讲
  • Windows 下 Git 入门指南:从安装、配置 SSH 到加速 GitHub 下载
  • gradle可用的下载地址(免费)