由于表中的行数太大,我从“ORDER BY dbms_random.value”构造切换到 SAMPLE 子句以获得 1000 个随机行。完成只需不到一秒钟而不是 3 分钟。但是在某些表上我得到了这个错误
ORA-01446: 无法使用 DISTINCT、GROUP BY 等从视图中选择 ROWID
我的查询如下所示:
SELECT t1.columnA FROM
(SELECT columnA FROM table1 sample(1) where rownum <= 1000) t1
JOIN table2 t2
ON (t1.columnA = t2.columnA)
WHERE t2.columnB IS NOT NULL
它在某些表上工作正常,但在其他表上失败。我放弃了谷歌搜索,您能否就我的情况提出任何解决方法。