暂无图片
是什么原因在Oracle数据库中不使用绑定变量,可能会让系统陷于瘫痪?
我来答
分享
语菲
2023-06-17
是什么原因在Oracle数据库中不使用绑定变量,可能会让系统陷于瘫痪?

是什么原因在Oracle数据库中不使用绑定变量,可能会让系统陷于瘫痪?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新

不使用绑定变量,就是破坏Oracle的共享池机制,会让系统陷于瘫痪。这有两个原因:

1)系统要花大量CPU时间解析查询

2)系统使用大量资源来管理共享池中的对象,但它们却从不被重用

如果提交到Oracle的每个查询都是一个唯一查询(具有唯一的硬编码值),则共享池的概念就没有意义了。设计共享池是为了能反复使用查询计划。如果每个查询都是全新的,都是以前从来没有见过的查询,那么缓存它们只会增加开销,共享池反而会损害性能。

暂无图片 评论
暂无图片 有用 7
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
相关推荐
显示unable to extend table,这个是表空间不够了吗?
回答 3
你是在导dump吗?表空间需要手动添加数据文件⭐️获取需要迁移的用户可以参考:Oracle数据泵迁移用户创建SQL语句首先通过用户来获取迁移需要的表空间名称:SELECTdistinct''''||t
大佬们,alter database recover managed standby database using current logfile disconnect from session;之后不是马上同步的吗?
回答 3
主要是生产环境启动此命令,需要把归档等进行追加,然后才能实时同步,可以通过如下脚本查看差距:Setlinesize222SELECTDBNAME,HOSTNAME,LOGARCHIVED,LOGAPP
DG库主库创建数据文件传送到备库路径异常
回答 4
已采纳
备库启用了OMF把备库的dbcreatefiledest清掉
ora-00931问题怎么解决?
回答 1
DbCommandcmddb.GetSqlStringCommand(sql);
Oracle 中有一天的归档日志删不掉,文件都直接删掉了 ,但是rman 删记录删不掉,这是为什么?
回答 3
已采纳
crosscheckarchivelogall;deleteexpiredarchivelogall;
有没有办法把oracle库的表转换成mysql的?
回答 1
已采纳
我说两种方法:一是通过navicat等三方软件,直接做表传输,直接就给你转了;二是查看oracle的建表语句,然后改写为mysql的,然后数据通过导出为csv文件,然后在mysql中导入即可。大数据量
12.2的库正常关闭一直卡住
回答 13
看56681进程是啥,localno的话就杀掉
广播表是什么?
回答 2
不知道广播表,坐等更新。
oracle 11.2.0.1.0 出现 cursor: pin S wait on X 事件,有什么好的解决办法吗。
回答 4
从awr上找到锁的关键,看看SegmentsbyRowLockWaits这段是什么竞争严重?主要是锁,和操作系统无关。
求一份Oracle 11g for windows的2020年后的PSU和OJVM补丁
回答 4
已采纳
https://www.modb.pro/download/849492这个据说是22年1月的,你自己下了看看