SQL很娇气,谈谈大小写对SQL语句的影响

Time:2021/06/11 11:18:38   Click:

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;


TOP

四川尚狐网络@2012 版权所有
蜀ICP备12016524号-2

立即咨询
成都网站建设,成都做网站,四川尚狐网络