记录读书是看到的某些言语。
1、当必须使用风不是查询是,请使用IN字句,设置草字符(如UNION,或者MINUS),并采用任何可以降低数据库节点间的网络通信的技术。使用试图时,将记录限制在一张表内,这样可以提供性能,因为他减少了从远程客户端往本地客户端发送的数据量。在Oracle 8i中,可以使用DRIVING_SITE提示来控制哪一个分布式数据库的节点使用哪一个分布式查询。在Oracle 7中,驱动点通常是产生查询的本地节点。10.2 Admin Guide中31章这样写到,“通过使用并列的内联视图可以重写查询以访问远程诉就可”。如:
应该把:
select customer_id,customer_name,class_code
from customers cust
where exists
(select 1
from booking@book bkg
where bkg.customer_id=cust.customer_id
and bkg.status='OPEN')
order by customer_name;
改写为:
select customer_id,customer_name,class_code
from customers cust
where customer_id in
(select customer_id
from booking@book bkg
where bkg.status='OPEN')
order by customer_name;