共享SQL语句必须满足哪些条件?
A。 字符级的比较:
当前被执行的语句和共享池中的语句必须完全相同。 例如: SELECT * FROM EMP;
和下列每一个都不同 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 syno...全部
A。 字符级的比较:
当前被执行的语句和共享池中的语句必须完全相同。 例如: SELECT * FROM EMP;
和下列每一个都不同 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语句能否在这两个用户之间共享。
SQL能否共享 原因 select max(sal_cap) from sal_limit; 不能每个用户都有一个private synonym - sal_limit , 它们是不同的对象 select count(*0 from work_city where sdesc like ''''NEW%''''; 能 两个用户访问相同的对象public synonym - work_city select a。
sdesc,b。location from work_city a , plant_detail b where a。city_id = b。city_id 不能用户jack 通过private synonym访问plant_detail 而jill 是表的所有者,对象不同
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;。收起