§2表连接优化(218KB).pptVIP

  • 0
  • 0
  • 约小于1千字
  • 约 4页
  • 2018-04-19 发布于广东
  • 举报
表连接优化 本讲大纲: 支持网站: 2、WHERE子句的连接顺序 1、驱动表的选择 驱动表的选择 驱动表(Driving Table)是指被最先访问的表(通常以全表扫描的方式被访问)。Oracle 11g优化器会检查SQL语句中的每个表的物理大小、索引状态,然后选用花费最低的执行路径,接下来,我们分析下面的一个例子。 例14.2 从Students表和Department表查询学生信息,代码如下 SQL select s.Name,d.Dept_Name 2 from Department d ,Students s 3 where d.Dept_No = s.Dept_No; 在上面的代码中,假设在Students表的dept_no列创建了索引,而在Department表的dept_no列没有索引。由于Department最先被访问(紧随from其后),这样Department表将被作为查询中的驱动表,由此可见,只有两个表都建立有索引,优化器才能按照紧随from关键字后面的驱动表的规则来对待。 Oracle采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前。那些可以过滤掉最大数据记录的条件必须写在WHERE子句的末尾,也就是在表进行连接操作以前,过滤掉的记录数越多越好。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档