ITPub博客

首页 > 应用开发 > IT综合 > FIRST_ROWS和FIRST_ROWS_n的区别

FIRST_ROWS和FIRST_ROWS_n的区别

原创 IT综合 作者:litterbaby 时间:2008-03-25 11:52:16 0 删除 编辑

FIRST_ROWS和FIRST_ROWS_n的区别

[@more@]

FIRST_ROWSFIRST_ROWS_n的区别

1、 FIRST_ROWS_n是在9i之后引入的,应该说FIRST_ROWS模式在9i之后就应该被废弃,之所以还使用主要是因为为了向下兼容的目的。

2、 FIRST_ROWS是为了返回前几行,应该说是FIRST_ROWS_1相似。

3、 FIRST_ROWS这种模式使用的过程中,CBO会使用一些约束,而这些约束将会限制CBO对表之间的连接模式的选择,其中就有一个是对hash连接的选择,而使用嵌套连接的方式,这样就需要对一个表进行全表扫描,或者使用索引。例如排序order bygroup by的时候。这时候系统会使用索引,而且往往这些索引的时候,会是使得SQL的执行花费比较高。就是说在需要排序的时候,OracleFIRST_ROWS这种模式下会使用索引(排序的列上的索引),无论这个索引的使用是否高和低。

这是Oracle的一个bug,而这个在11g中就没有存在,但是由于这个问题的存在(8910),所以建议慎重使用这个参数的使用。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/222350/viewspace-1001438/,如需转载,请注明出处,否则将追究法律责任。

上一篇: I/O Calibration
请登录后发表评论 登录
全部评论
  • 博文量
    131
  • 访问量
    434130