This question is locked. New answers and comments are not allowed.
Hello,
i am using a oracle db.
During testing of my serverside sorting and pageing functionality of the RadGridView i have found that the orm does generate a select statement which results in a full tablescan.
Following the serverside linq statement to get one page of the dictionary table:
Following the SQL statement from the database session view in the oracle enterprise manager:
This is a very time consuming way if my dictionary have millions of rows and each page request makes a full table scan.
My target is to fetch only 20 records per page and have the page switch take less than 1 second.
Is there any other way to do the pageing, or do is something wrong?
Have anyone a solution?
Thanks Richard.
i am using a oracle db.
During testing of my serverside sorting and pageing functionality of the RadGridView i have found that the orm does generate a select statement which results in a full tablescan.
Following the serverside linq statement to get one page of the dictionary table:
query = from c in this.DataContext.TXTs .Skip((iPage - 1) * 20) .Take(20) .OrderBy(sSortOrder) select c; Following the SQL statement from the database session view in the oracle enterprise manager:
SELECT * FROM (SELECT a.*, ROWNUM oa_rownum FROM (SELECT a.txt_s_key col1, a.txt_i_lng_nr col2, a.txt_i_tag col3, a.txt_s_text col4 FROM txt a ORDER BY a.txt_s_key) a WHERE ROWNUM <= :take) WHERE oa_rownum > :skip This is a very time consuming way if my dictionary have millions of rows and each page request makes a full table scan.
My target is to fetch only 20 records per page and have the page switch take less than 1 second.
Is there any other way to do the pageing, or do is something wrong?
Have anyone a solution?
Thanks Richard.