WEB开发网
开发学院数据库Oracle Oracle性能调整与优化(二) 阅读

Oracle性能调整与优化(二)

 2008-12-04 13:02:17 来源:WEB开发网   
核心提示: 查询1select d.department_id,d.department_name,r.region_namefrom departments d,locations l,countries c, regions rwhere d.location_id=l.location_idan

查询1

select d.department_id,
d.department_name,
r.region_name
from departments d,
locations l,
countries c, regions r
where d.location_id=l.location_id
and l.country_id=c.country_id
and c.region_id=r.region_id;

select department_id,
department_name,
region_name
from departments natural join locations
natural join countries natural join regions;

这产生了四个问题。

1、这些查询的查询结果集一致吗?

2、如果它们是一致的,你能预计在它们的执行计划中有什么不同吗?

3、如果这些执行计划一致,是什么使得这些查询不同?

4、能做些什么事情来改善成本(cost)?

第一个问题的答案是“是”,它们的查询结果集是一致的;第二个问题的答案是“不能”,因为相同的步骤是连接表;第三个问题的答案需要处理输入的数量或涉及的编码。

在这个例子中关键词“自然连接(natural join)”,“join on”,“左/右 外连接(right/left outer join)”的使用是怎么回事,如果你懂得什么是自然连接(仍然连接两个表,但是涉及到的列名是相同的),看起来使用第二个查询不是更容易了吗?

下面展示的是验证第二个问题的答案。

查询1的执行计划

Oracle性能调整与优化(二)

查询2的执行计划

Oracle性能调整与优化(二)

上一页  1 2 3 4 5  下一页

Tags:Oracle 性能 调整

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接