[原创]大小写对SQL语句的影响_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2476 | 回复: 0   主题: [原创]大小写对SQL语句的影响        下一篇 
tngou
注册用户
等级:中校
经验:2433
发帖:192
精华:15
注册:2014-4-28
状态:离线
发送短消息息给tngou 加好友    发送短消息息给tngou 发消息
发表于: IP:您无权察看 2014-10-8 15:23:00 | [全部帖] [楼主帖] 楼主   主页

    SQL语句存放在内存中,可以被所有的数据库用户共享. 因此,当你执行一个SQL语句时,如果它和之前的执行过的语句完全相同,就能很快获得已经被解析的语句。

    当你向服务器提交一个SQL语句,首先会在指定内存中查找相同的语句。这里需要注明的是,两者采取的是一种严格匹配,要达成共享,SQL语句必须完全相同(包括空格,换行等).

A.字符级的比较:

当前被执行的语句和共享池中的语句必须完全相同.

    例如:

SELECT * FROM EMP;


 和下列每一个都不同

SELECT * from EMP;
Select * From Emp;


B.两个语句所指的对象必须完全相同:

例如:

    用户 对象名 如何访问(声明部分)

Jack sal_limit private synonym
Work_city public synonym
Plant_detail public synonym
Jill sal_limit private synonym
Work_city public synonym
Plant_detail table owner


 考虑一下下列SQL语句能否在这两个用户之间共享.

C.两个SQL语句中必须使用相同的名字的绑定变量(bind variables)

例如:第一组的两个SQL语句是相同的(可以共享),而第二组中的两个语句是不同的(即使在运行时,赋于不同的绑定变量相同的值)

a.
select pin , name from people where pin = :blk1.pin;
select pin , name from people where pin = :blk1.pin;
b.
select pin , name from people where pin = :blk1.ot_ind;
select pin , name from people where pin = :blk1.ov_ind;


该贴由hui.chen转至本版2014-11-5 16:00:56



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论