[20191125]oracel SQL parsing function qcplgte 2.txt
[20191125]oracel SQL parsing function qcplgte 2.txt
--//参考前面的测试:http://blog.itpub.net/267265/viewspace-2665273/=>[20191122]oracel SQL parsing function qcplgte.txt
--//补充一些测试:
1.环境:
--//session 1:
SCOTT@book> @ ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
SCOTT@book> @ spid
SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50
---------- ---------- ------------------------ --------- ------ ------- ---------- --------------------------------------------------
86 15 964 DEDICATED 965 30 8 alter system kill session '86,15' immediate;
SCOTT@book> alter session set cursor_sharing=force ;
Session altered.
2.测试:
--//session 1:
SCOTT@book> select * from dept where deptno=41;
no rows selected
--//session 2:
0x7fff1e373528: "select * from dept where deptno=41"
0x7fff1e37352e: " * from dept where deptno=41"
0x7fff1e373530: " from dept where deptno=41"
0x7fff1e373535: " dept where deptno=41"
0x7fff1e37353a: " where deptno=41"
0x7fff1e373540: " deptno=41"
0x7fff1e373547: "=41"
0x7fff1e373548: "41"
0x7fff1e37354a: ""
0x7db65d78: "select * from dept where deptno=:\"SYS_B_0\""
0x7db65d7e: " * from dept where deptno=:\"SYS_B_0\""
0x7db65d80: " from dept where deptno=:\"SYS_B_0\""
0x7db65d85: " dept where deptno=:\"SYS_B_0\""
0x7db65d8a: " where deptno=:\"SYS_B_0\""
0x7db65d90: " deptno=:\"SYS_B_0\""
0x7db65d97: "=:\"SYS_B_0\""
0x7db65d91: "deptno=:\"SYS_B_0\""
0x7db65d97: "=:\"SYS_B_0\""
0x7db65d98: ":\"SYS_B_0\""
0x7db65d99: "\"SYS_B_0\""
0x7db65da2: ""
0x7f6fca73d9f0: "select * from dept where deptno=:\"SYS_B_0\""
0x7f6fca73d9f6: " * from dept where deptno=:\"SYS_B_0\""
0x7f6fca73d9f8: " from dept where deptno=:\"SYS_B_0\""
0x7f6fca73d9fd: " dept where deptno=:\"SYS_B_0\""
0x7f6fca73da02: " where deptno=:\"SYS_B_0\""
0x7f6fca73da08: " deptno=:\"SYS_B_0\""
0x7f6fca73da0f: "=:\"SYS_B_0\""
0x7f6fca73da10: ":\"SYS_B_0\""
0x7f6fca73da11: "\"SYS_B_0\""
0x7f6fca73da1a: ""
0x7f6fca73d978: "SELECT * FROM DEPT WHERE DEPTNO = :\"SYS_B_0\""
0x7f6fca73d97e: " * FROM DEPT WHERE DEPTNO = :\"SYS_B_0\""
0x7f6fca73d980: " FROM DEPT WHERE DEPTNO = :\"SYS_B_0\""
0x7f6fca73d985: " DEPT WHERE DEPTNO = :\"SYS_B_0\""
0x7f6fca73d98a: " WHERE DEPTNO = :\"SYS_B_0\""
0x7f6fca73d990: " DEPTNO = :\"SYS_B_0\""
0x7f6fca73d997: " = :\"SYS_B_0\""
0x7f6fca73d999: " :\"SYS_B_0\""
0x7f6fca73d99b: "\"SYS_B_0\""
0x7cc6fb76: "DEPTNO"
0x7cc6fb7c: ""
0x7c7b8bfe: "DNAME"
0x7c7b8c03: ""
0x7c7b8b26: "LOC"
0x7c7b8b29: ""
--//session 1:
SCOTT@book> select * from dept where deptno=42;
no rows selected
--//session 2:
0x7fff1e373528: "select * from dept where deptno=42"
0x7fff1e37352e: " * from dept where deptno=42"
0x7fff1e373530: " from dept where deptno=42"
0x7fff1e373535: " dept where deptno=42"
0x7fff1e37353a: " where deptno=42"
0x7fff1e373540: " deptno=42"
0x7fff1e373547: "=42"
0x7fff1e373548: "42"
0x7fff1e37354a: ""
0x7cc6fb76: "DEPTNO"
0x7cc6fb7c: ""
0x7c7b8bfe: "DNAME"
0x7c7b8c03: ""
0x7c7b8b26: "LOC"
0x7c7b8b29: ""
--//session 1:
SCOTT@book> select * from dept where deptno=41;
no rows selected
--//session 2:
0x7cc6fb76: "DEPTNO"
0x7cc6fb7c: ""
0x7c7b8bfe: "DNAME"
0x7c7b8c03: ""
0x7c7b8b26: "LOC"
0x7c7b8b29: ""
--//session 1:
--//执行多次.
SCOTT@book> select * from dept where deptno=41;
no rows selected
--//session 2:
0x7cc6fb76: "DEPTNO"
0x7cc6fb7c: ""
0x7c7b8bfe: "DNAME"
0x7c7b8c03: ""
0x7c7b8b26: "LOC"
0x7c7b8b29: ""
--//在cursor_sharing=force的情况,如果绑定变量参数不同才会调用1组qcplgte.不过里面的字段不知道为什么每次都要调用.
--//即使是明确字段的情况下也是一样.
--//session 1:
SCOTT@book> select dname from dept where deptno=41;
no rows selected
--//session 1 调用多次select dname from dept where deptno=41;
--//session 2:
0x7fff1e373528: "select dname from dept where deptno=41"
0x7fff1e37352e: " dname from dept where deptno=41"
0x7fff1e373534: " from dept where deptno=41"
0x7fff1e373539: " dept where deptno=41"
0x7fff1e37353e: " where deptno=41"
0x7fff1e373544: " deptno=41"
0x7fff1e37354b: "=41"
0x7fff1e37354c: "41"
0x7fff1e37354e: ""
0x7c8622f8: "select dname from dept where deptno=:\"SYS_B_0\""
0x7c8622fe: " dname from dept where deptno=:\"SYS_B_0\""
0x7c862304: " from dept where deptno=:\"SYS_B_0\""
0x7c8622ff: "dname from dept where deptno=:\"SYS_B_0\""
0x7c862304: " from dept where deptno=:\"SYS_B_0\""
0x7c8622ff: "dname from dept where deptno=:\"SYS_B_0\""
0x7c862304: " from dept where deptno=:\"SYS_B_0\""
0x7c862309: " dept where deptno=:\"SYS_B_0\""
0x7c86230e: " where deptno=:\"SYS_B_0\""
0x7c862314: " deptno=:\"SYS_B_0\""
0x7c86231b: "=:\"SYS_B_0\""
0x7c862315: "deptno=:\"SYS_B_0\""
0x7c86231b: "=:\"SYS_B_0\""
0x7c86231c: ":\"SYS_B_0\""
0x7c86231d: "\"SYS_B_0\""
0x7c862326: ""
0x7f6fca73d9f8: "select dname from dept where deptno=:\"SYS_B_0\""
0x7f6fca73d9fe: " dname from dept where deptno=:\"SYS_B_0\""
0x7f6fca73da04: " from dept where deptno=:\"SYS_B_0\""
0x7f6fca73da09: " dept where deptno=:\"SYS_B_0\""
0x7f6fca73da0e: " where deptno=:\"SYS_B_0\""
0x7f6fca73da14: " deptno=:\"SYS_B_0\""
0x7f6fca73da1b: "=:\"SYS_B_0\""
0x7f6fca73da1c: ":\"SYS_B_0\""
0x7f6fca73da1d: "\"SYS_B_0\""
0x7f6fca73da26: ""
0x7f6fca73d978: "SELECT DNAME FROM DEPT WHERE DEPTNO = :\"SYS_B_0\""
0x7f6fca73d97e: " DNAME FROM DEPT WHERE DEPTNO = :\"SYS_B_0\""
0x7f6fca73d984: " FROM DEPT WHERE DEPTNO = :\"SYS_B_0\""
0x7f6fca73d989: " DEPT WHERE DEPTNO = :\"SYS_B_0\""
0x7f6fca73d98e: " WHERE DEPTNO = :\"SYS_B_0\""
0x7f6fca73d994: " DEPTNO = :\"SYS_B_0\""
0x7f6fca73d99b: " = :\"SYS_B_0\""
0x7f6fca73d99d: " :\"SYS_B_0\""
0x7f6fca73d99f: "\"SYS_B_0\""
0x7c11fd1e: "DNAME"
0x7c11fd23: ""
0x7c11fd1e: "DNAME"
0x7c11fd23: ""
0x7c11fd1e: "DNAME"
0x7c11fd23: ""
0x7c11fd1e: "DNAME"
0x7c11fd23: ""
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库