当前位置: 首页 > 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使得重新生成执行计划(有点儿眼熟)
在这里插入图片描述
方法三:实在不行就重启实例。

相关文章:

  • 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语言】初阶算法相关习题(一)
  • 用社群活动维系“不开发”古镇的生命力
  • 上海乐高乐园度假区将于7月5日开园
  • 上海黄浦区拟73.2654亿元协议出让余庆里7宗组合地块
  • 我国科研团队发布第四代量子计算测控系统
  • 国铁集团:铁路五一假期旅客发送量累计已超1亿人次
  • 市场驱动的系统改造:丹麦零弃风经验研究