i.使用ROWID的单独记录 ii.使用簇连接的单独记录. iii.使用散列簇主键的单独记录. iv.使用主键的单独记录. v.簇连接. vi.散列簇连接 vii.索引簇主键. viii.复合主键. ix.单列主键 x.索引列的结合范围查找. xi.索引列的非结合范围查找. xii.排序合并连接. xiii.索引列的最大max或min xiv.索引列的order by. xv.全表扫描. 举例来说,如果生成一个在where子句条件中精确匹配两列的表的查询,一列拥有主键(对应于使用主键的单独记录.)而别一列拥有非主键(对应于单列主键),则RBO更喜欢主键(对应于使用主键的单独记录.),而不是非主键(对应于单列主键). 当在一个查询中涉及到要访问多个表,优化器需要确定那个表是驱动表.RBO生成一组连接顺序,每一个表做为第一个表,然后优化器从执行计划的结果集中选择最理想的计划.优化器评估不同条件诸如(最少的嵌套循环,最少的排序合并连接,最佳级别的表访问路径,等等),如果仍然不能比较出结果,则优化器会选择查询的FROM子句第一个表作为驱动表.因此,常规条件下的编码实践将把驱动表放在最右边.其它的表按访问顺序跟随在FROM子句中. 也就是说,表的顺序是从右到左的访问顺序。
|
正在阅读:Oracle迁移到优化器系列1.1Oracle迁移到优化器系列1.1
2004-02-14 09:34
出处:PConline
责任编辑:linjixiong
键盘也能翻页,试试“← →”键