Mam tabeli Oracle o rekordowej liczby 99896618.Oracle & Pagination
muszę sprowadzić małą porcję danych (powiedzmy 100 rekordów), aby pokazać go na stronie internetowej (w WEB świata możemy nazwać stronicowanie). Obecnie używam następującego zapytania, aby to osiągnąć, jednak użytkownicy nie są zadowoleni z wydajności.
SELECT * FROM (select rownum rnum,f.* from findings f where rownum<90000100)
WHERE rnum > 90000000
Obecnie zajmuje to 1 minutę 22 sekundy, aby uzyskać wyniki. Czy tak jest, żeby było lepiej. Jestem z pewnością otwarty na wszelkie sugestie, w tym modyfikowanie struktury tabeli lub dodawanie indeksów.
(Właśnie FYI, używam ASP.NET jak po stronie serwera technologii internetowej i ADO.NET jako warstwa dostępu do danych i Silverlight do prezentacji po stronie klienta)
Udostępniłem numer strony łatwo dostępny, tworząc listę rozwijaną numerów stron (tylko uproszczony opis, stworzyłem niestandardową kontrolę, dzięki której mogą łatwo uzyskać dostęp do ostatnich 1000 stron). Może to być przydatne informacje, przez większość czasu (około 95% czasu) użytkownicy są zainteresowani ostatnimi (najnowszymi) rekordami. – funwithcoding