SQL优化必备脚本:Oracle获取绑定变量的字面SQL文本

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!

由于博客中有大量代码,通过页面浏览效果更佳。

今天分享一个使用了10多年的脚本,此脚本可以说是我使用频率排在前10的一个脚本。此脚本解决我们在优化SQL语句时,我们需要去查看SQL语句未绑定变量的字面SQL文本,如果SQL语句只有1、2个SQL语句,我们可以通过手动的方式去查询v$SQL_BIND_CAPTURE的绑定变量值来修改,但是如果我们有10个以上的绑定变量,通过此方法的效率就非常低,就需要依赖下面的脚本一键获取SQL的字面文本。虽然是用了10多年的SQL语句,但是此SQL语句原来一直只支持绑定变量的SQL语句,如果SQL没有使用绑定变量,返回为空。今天终于添加了一个判断了,非绑定变量的SQL直接显示文本即可。

此脚本功能非常简单,这里就只简单演示一下直接后的结果即可:

绑定变量的情况

plain_text 复制代码
SQL> @sql_fulltext_by_sqlid.sql
Enter value for sqlid: f4k1vwyb1400d
HTZHTZ
select temp0001.id as id847_ from htztable temp0001 where (temp0001.doc_resource_id in
(7531984628351947269 , 8462951738649371528 , 3958471625948361729 ,
829475163847291635 , 5948371628473951728 )) and (temp0001.change_type in (0
, 1 ))

原始SQL的文本如下:
select temp0001.id as id847_from htztable temp0001 where (temp0001.doc_resource_id in
(:1 , :2 , :3 , :4 , :5 )) and (temp0001.change_type in (:6 , :7 ))

未绑定变量的SQL

plain_text 复制代码
@sql_fulltext_by_sqlid.sql
Enter value for sqlid: f4k1vwyb1400d
Schema: HTZZ
SELECT  htz.budgetcheck, htz.yhhd_no, htz.iprintcount from table_1 htz where htz.dr = 0
and htz.vouchid = '1106ZZ1000000000BPY0'
--------------------------------------------------------

脚本获取

脚本已经上传到微信群里面的共享链接文件,直接用共享链接下载即可。

------------------作者介绍-----------------------

姓名:黄廷忠

现就职:Oracle中国高级服务团队

曾就职:OceanBase、云和恩墨、东方龙马等

电话、微信、QQ:18081072613
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)


相关推荐
念何架构之路8 小时前
zap采样器与性能优化内幕
算法·性能优化·哈希算法
网络毒刘10 小时前
Token 用量观测实战:从会话结构拆前缀/工具/生成,建立个人降本仪表盘
人工智能·性能优化·token·cursor
5008415 小时前
React Native for OpenHarmony 实战:三方库 react-native-url-polyfill 的鸿蒙化适配指南
javascript·react native·react.js·性能优化·electron·harmonyos
HLAIA光子17 小时前
RAG Chunks 切分优化后成本骤降 86%
后端·性能优化·架构
传奇开心果编程17 小时前
【现代声明式UI学与练】第9课 性能优化——渲染优化、列表优化、内存优化、启动优化
学习·flutter·react native·ui·性能优化·swiftui·android jetpack
Alice-YUE1 天前
RAF 渲染帧速通:从渲染帧到性能优化
性能优化
无名猿2 天前
移动构造与移动赋值:把资源偷过来
c++·性能优化·内存管理·现代c++·语法基础
yunwei372 天前
eBPF 开发实践:使用 eBPF 隐藏进程或文件信息
linux·后端·性能优化
无名猿2 天前
shared_mutex 读写锁该不该用,以及 volatile 的三大误解
c++·性能优化·并发编程·现代c++
无名猿2 天前
unique_ptr 完全指南:独占所有权与零开销
c++·性能优化·内存管理·标准库·现代c++