[20180912]PLSLQ与绑定变量.txt --//链接提到的性能问题,链接http://www.itpub.net/thread-2105061-1-1.html --//我自己也没有很好的定位问题,我自己的定位对方的存储有点问题,单块读10ms,不管怎样感觉有点慢.当然里面一些sql也有问题. --//顺便问一下同行,当然聊另外的问题,可以发现里面的一些sql语句特别长,实际上如下: sql_id=cj6s4qvnpdrsf begin UPDATE bed_rec SET ward_code = '205', room_no = '02', dept_code = '132', bed_approved_type = '', bed_sex_type = '', bed_class = '', bed_status = '1', bed_type = '', bed_label = '01' WHERE local_bed_code = '05201' AND hospital_no = '46600265-7'; ..... UPDATE bed_rec SET ward_code = '2298', room_no = '01', dept_code = '1351', bed_approved_type = '', bed_sex_type = '', bed_class = '', bed_status = '1', bed_type = '', bed_label = '018' WHERE local_bed_code = '613018' AND hospital_no = ' 46600265-7'; end; --//我想测试看看如果cursor_sharing=force的情况,这样的语句会替换吗? --//自己测试看看. 1.环境: SCOTT@test01p> @ ver1 PORT_STRING VERSION BANNER CON_ID ------------------------------ -------------- -------------------------------------------------------------------------------- ---------- IBMPC/WIN_NT64-9.1.0 12.1.0.1.0 Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production 0 SCOTT@test01p> create table deptx as select * from dept where 1=2; Table created. 2.建立测试脚本: --//cat ba.sql begin Insert into DEPTx (DEPTNO, DNAME, LOC) Values (10, 'ACCOUNTING', 'NEW YORK'); Insert into DEPTx (DEPTNO, DNAME, LOC) Values (20, 'RESEARCH', 'DALLAS'); Insert into DEPTx (DEPTNO, DNAME, LOC) Values (30, 'SALES', 'CHICAGO'); Insert into DEPTx (DEPTNO, DNAME, LOC) Values (40, 'OPERATIONS', 'DALLAS'); COMMIT; end; / SCOTT@test01p> alter system set cursor_sharing=force scope=memory; System altered. --//退出再执行: SCOTT@test01p> show parameter cursor_sharing NAME TYPE VALUE ------------------------------------ -------------------- ---------- cursor_sharing string FORCE SCOTT@test01p> @ d:\temp\ba.sql PL/SQL procedure successfully completed. SCOTT@test01p> @spid SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50 ---------- ---------- ------------------------ --------- -------------------- ------- ---------- -------------------------------------------------- 152 11 3376:6408 DEDICATED 7932 22 6 alter system kill session '152,11' immediate; SCOTT@test01p> select sql_text c80 from V$OPEN_CURSOR where sid=152 and upper(sql_text) like '%DEPT%'; C80 -------------------------------------------------------------------------------- INSERT INTO DEPTX (DEPTNO, DNAME, LOC) VALUES (20, 'RESEARCH INSERT INTO DEPTX (DEPTNO, DNAME, LOC) VALUES (10, 'ACCOUNTI INSERT INTO DEPTX (DEPTNO, DNAME, LOC) VALUES (40, 'OPERATIO INSERT INTO DEPTX (DEPTNO, DNAME, LOC) VALUES (30, 'SALES', SCOTT@test01p> select sql_text c120 from v$sql where sql_id='9w348rtwgr3v1'; C120 ------------------------------------------------------------------------------------------------------------------------ begin Insert into DEPTx (DEPTNO, DNAME, LOC) Values (10, 'ACCOUNTING', 'NEW YORK'); Insert into DEPTx (DEPTNO, DNAME, LO C) Values (20, 'RESEARCH', 'DALLAS'); Insert into DEPTx (DEPTNO, DNAME, LOC) Values (30, 'SALES', 'CHICAGO'); Insert int o DEPTx (DEPTNO, DNAME, LOC) Values (40, 'OPERATIONS', 'DALLAS'); COMMIT; end; --//可以发现里面的值没有替换,包括执行的sql语句.都无法通过参数cursor_sharing=force的情况下,使用绑定变量. --//看来开发不能这样写代码...^_^. SYS@test> @ sharepool/shp4 9w348rtwgr3v1 0 TEXT KGLHDADR KGLHDPAR C40 KGLHDLMD KGLHDPMD KGLHDIVC KGLOBHD0 KGLOBHD6 KGLOBHS0 KGLOBHS6 KGLOBT16 N0_6_16 N20 KGLNAHSH KGLOBT03 KGLOBT09 -------------- ---------------- ---------------- ---------------------------------------- ---------- ---------- ---------- ---------------- ---------------- ---------- ---------- ---------- --------- ------- ---------- ------------- ---------- 子游标句柄地址 000007FF26A880A8 000007FF26A84A18 begin Insert into DEPTx (DEPTNO, DNAME, 0 0 0 000007FF25528548 000007FF23084038 4032 12400 3399 19831 19831 2029752161 9w348rtwgr3v1 0 父游标句柄地址 000007FF26A84A18 000007FF26A84A18 begin Insert into DEPTx (DEPTNO, DNAME, 0 0 0 000007FF25548768 00 4072 0 0 4072 4072 2029752161 9w348rtwgr3v1 65535 --//shp4.sql column N0_6_16 format 99999999 SELECT DECODE (kglhdadr, kglhdpar, '父游标句柄地址', '子游标句柄地址') text, kglhdadr, kglhdpar, substr(kglnaobj,1,40) c40, KGLHDLMD, KGLHDPMD, kglhdivc, kglobhd0, kglobhd6, kglobhs0,kglobhs6,kglobt16, kglobhs0+kglobhs6+kglobt16 N0_6_16, kglobhs0+kglobhs1+kglobhs2+kglobhs3+kglobhs4+kglobhs5+kglobhs6+kglobt16 N20, kglnahsh, kglobt03 , kglobt09 FROM x$kglob WHERE kglobt03 = '&1' or kglhdpar='&1' or kglhdadr='&1' or KGLNAHSH= &2;
[20180912]PLSLQ与绑定变量.txt
来源:这里教程网
时间:2026-03-03 11:58:49
作者:
编辑推荐:
- 在word2010文档中如何手动更新链接03-03
- [20180912]PLSLQ与绑定变量.txt03-03
- [20180912]关于ANSI joins语法.txt03-03
- Word2010实现结构清晰的文档导航03-03
- OCP认证052考试最新题库及答案整理-5103-03
- OCP认证052考试最新题库及答案整理-5003-03
- 如何使用Word2010创建PDF文件图解教程03-03
- word2010实现DOC与TXT格式的批量转换教程03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 10大性能监控指令
10大性能监控指令
26-03-03 - SUSE安装oracle client客户端58%出现卡死现象
SUSE安装oracle client客户端58%出现卡死现象
26-03-03 - GoldenGate 自动化初始数据
GoldenGate 自动化初始数据
26-03-03 - word2010中如何实现双面打印文档
word2010中如何实现双面打印文档
26-03-03 - powermt 命令简介
powermt 命令简介
26-03-03 - ORACLE 11G dgbroker异常之ORA-16820&ORA-16825&ORA-12541
- expdp遇到ORA-31655错误
expdp遇到ORA-31655错误
26-03-03 - Word 2010导航阅读超长文档技巧
Word 2010导航阅读超长文档技巧
26-03-03 - 微信PK10源码搭建与oracle
微信PK10源码搭建与oracle
26-03-03 - 12C 探路 第一个 ORA 28040
12C 探路 第一个 ORA 28040
26-03-03
