我有一个非常大的表MY_TABLE
(1亿行(。我希望从该表中选择5个样本。
我能想到的是获得5个任意主要键,如下所示,这是通过解释计划显示的快速完整扫描:
select MY_PRIMARY_KEY_COLUMN from (select MY_PRIMARY_KEY_COLUMN, rownum as rn from MY_TABLE) where rn <=5
,然后获取与这些主要键相对应的记录。
但是这仍然非常非常慢。
可以更有效地完成吗?
看起来,我感到困惑。正如评论者所注意到的那样,查询
应该没有问题select * from MY_TABLE where rownum <=5
但是我以某种方式开始看
select MY_PRIMARY_KEY_COLUMN from (select MY_PRIMARY_KEY_COLUMN, rownum as rn from MY_TABLE) where rn <=5
确实运行非常慢。
很抱歉浪费了每个人的时间,select * from MY_TABLE where rownum <=5
效果很好。