Oracle LIMIT and 1000 column restriction
Okay, this will perform worse than what you were planning, but my point is that you could try pagination this way:
WITH CTE AS( ... original SQL goes here ...)SELECT A.*FROM CTE AINNER JOIN (SELECT YourKey, ROW_NUMBER() OVER (ORDER BY ...) rnum FROM CTE) BON A.YourKey = B.YourKeyWHERE rnum BETWEEN 1 AND 10;
you cant have a view with 1000+ columns, so cheat a little.
select * from foo f, foo2 f2 where (f.rowid, f2.rowid) in (select r, r2 from (select r, r2, rownum rn from (select /*+ first_rows */ f.rowid r, f2.rowid r2 from foo f, foo2 f2 where f.c1 = f2.a1 and f.c2 = '1' order by f.c1)) where rn >= AAA and rownum <= BBB)order by whatever;
now put any where clauses in the innermost bit (eg i put f.c1 = '1').
BBB = pagesize.AAA = start point
Is the problem pagination or just returning the first 10 rows? If it is the latter, you can do:
SELECT foo "c0", bar "c1", baz "c2", ...FROM some_tableWHERE ... and rownum <= 10