How much work you save, and hence the performance improvement, would depend on the join mechanism of course. It wouldn't save you much on a hash join or a sort-merge, but on a nested loop it will. The first-rows hint could well change the join mechanism to one that will promote savings due to the rownum predicate.