asp.net - Oracle & Pagination -


I have an oracle table with record count of 99896618.

I need to bring a small part of the data (say 100 records) to show it on a web page, (we call it paging in the web world). Currently I am using the following query, though users are not satisfied with the performance.

  SELECT * FROM (select rownum rnum, f. which went away from the findings) from where rownum & lt; 90000100 Where & gt; 90000000  

Currently taking 1 minute 22 seconds to get this result. Anyway, to make it better I will definitely open for any kind of suggestions such as modifying table structure or adding index like

(just FYI, I as server-side web technology I am using ASP.NET and using ADO.NET as Data Access Layer and Silverlight for client side presentation)

your query next to 100 Prior to the 90M record will need to count, so the improvement is hardly any room.

I do not see the ORDER BY section in your subquery, but you probably have it. In this case, you can create an index on it.

And one question: Before actually complaining about the performance, do your users actually click through the 900K pages?

Update:

If you need the latest page, you will need to enter your ORDER BY column in descending order :

 from  SELECT * (select rownum rnum, f * from findings f ORDER record_ordering_column DESC) where rnum & gt; 900 and rownum & lt; Make an index at <100>     / Li>         

Comments

Popular posts from this blog

oracle - The fastest way to check if some records in a database table? -

php - multilevel menu with multilevel array -

jQuery UI: Datepicker month format -