dacourt Skrevet 21. juli 2003 Del Skrevet 21. juli 2003 Heisann, poster spørmsålet mitt i Java-forumet siden jeg ikke fant et eget forum om JSP(Java Server Pages). Er det noen av dere som har noen gode løsninger på paging av store recordset( >100000 poster) i en Oracle (versjon 8.1.0.7) database? Å page et recordset er ikke noe problem, men løsningen jeg har foreløbig går ut på å hente ut alle postene fra databasen for så liste ut de jeg spesifikt vil vise på websiden. Er det noen muligheter for å be databasen kun hente ut en viss porsjon av databasen (Jeg søkt både på sun sitt Java forum og generelt på Google, men har ikke kommet frem til noen gode metoder)? Noen som har hatt lignende problemstilling og er villig til å dele sine erfaringer med dette? mvh dacourt Lenke til kommentar
smetho Skrevet 21. juli 2003 Del Skrevet 21. juli 2003 Dette må du vel gjøre i SQL-setningen. Å hente ut så store datamengder tar TID og krever ressurser, derfor bør man spesifisere hvilke data man vil ha ut i spørringen istedet for å hente ut alt, og så velge ut de data som trengs i Java/JSP (men spørs jo litt hvordan du tenker å gjøre ting her, finnes vel unntak). Er litt usikker på hva du mener med å hente ut en porsjon av databasen. Mener du poster som tilfredsstiller de kriterier som du vil ha ut? Eller hele deler av databasen? Uansett så må dette spesifiseres i SQL-setningen. Gi oss et eksempel så blir det lettere å forstå hva du mener. Lenke til kommentar
dacourt Skrevet 21. juli 2003 Forfatter Del Skrevet 21. juli 2003 Heisann, Vel la oss si (hypotetisk) du på en side vil vise en list over brukere, men du vil kun vise 10 brukere per side (et veldig forenklet eksempel): sql = SELECT * FROM users ORDER BY name ASC; //Setter cursoren til å starte på rekkenummer startside RS.aboslute(startside) While (RS.next() && count < antall visninger per side) Skriv ut brukeren; count++; ) Problemet med denne koden er at recordsettet vil inneholde alle oppføringene i users-tabellen. Så det jeg spør etter er om det er måter i Oracle (store procedure o.l) som kan hente ut post 0-10, 11-20, 21-30 osv uten å gi tilbake hele recordettet samtidig? mvh dacourt Lenke til kommentar
enden Skrevet 21. juli 2003 Del Skrevet 21. juli 2003 Tror jeg vil anbefale pl/sql der. Da kan du lage en prosedyre som tar imot et atributt - startNr Prosedyren kan kjøre select på en og en rad 10 ganger og returnere de ti radene. Hvilken rad den skal starte på bestemmes av atributtet startNr. Hvis startNr = 0, hent 0-9 Hvis startNr = 10, hent 10-19 osv... edit: dette blri jo databaseprogrammering, og ikke jsp/java, men har du muligheten/kompetansen så er databasen sinnsykt mye raskere enn java + at du sparer mye belastning på internett Lenke til kommentar
smetho Skrevet 21. juli 2003 Del Skrevet 21. juli 2003 Det går fint ann å gjøre det som enden sier. Det negative med dette er at det bare fungerer på oracle-databaser, men dette er kanskje ikke noe problem i ditt tilfelle. I tillegg så har jeg aldri likt PL/SQL noe særlig....av den ekle grunn at jeg var elendig i det men det er absolutt en mulighet. Lenke til kommentar
dacourt Skrevet 21. juli 2003 Forfatter Del Skrevet 21. juli 2003 Det går fint ann å gjøre det som enden sier. Det negative med dette er at det bare fungerer på oracle-databaser, men dette er kanskje ikke noe problem i ditt tilfelle. I tillegg så har jeg aldri likt PL/SQL noe særlig....av den ekle grunn at jeg var elendig i det men det er absolutt en mulighet. Ja det var jo egentlig dette jeg hadde kommet frem til også. Holder på med en prosedyre nå som forhåpentligvis virker som den skal etterhvert. Er ikke noen kløpper i PL/SQL jeg heller, men med en porsjon cola-light og et par banneord så går det meste når en programmerer dette blri jo databaseprogrammering, og ikke jsp/java, men har du muligheten/kompetansen så er databasen sinnsykt mye raskere enn java + at du sparer mye belastning på internett. Ja du har helt rett. Var forsåvidt ikke et Java-spørsmål i det hele tatt. Skal du programmere store databasesystem som jeg holder på med nå så bør en alltid tenke på å la databaseserveren ta seg av så mye load som mulig ja. mvh dacourt Lenke til kommentar
enden Skrevet 21. juli 2003 Del Skrevet 21. juli 2003 Det går fint ann å gjøre det som enden sier. Det negative med dette er at det bare fungerer på oracle-databaser, men dette er kanskje ikke noe problem i ditt tilfelle. I tillegg så har jeg aldri likt PL/SQL noe særlig....av den ekle grunn at jeg var elendig i det men det er absolutt en mulighet. Sorry, men det ser ut til å være hull i minnet ditt når det gjelder bruksområder for pl/sql. Det virker fint i andre databaser og! Skjønner godt at du ikke liker det. Sitter og leser på db200 nå. Må konte 30. jul... Festlig sommerferie..? Lenke til kommentar
smetho Skrevet 21. juli 2003 Del Skrevet 21. juli 2003 PL/SQL er Oracle sitt eget "språk", og det fungerer så vidt jeg vet kun på Oracle sine databaser, muligens noen andre også, men dette vet jeg ikke noe om. Andre databaser har lignende språk (med unntak av noen), men det er ikke noen standard som gjøre de forskjellige språkene brukbare på andre DB-systemer enn det de er laget for. Dette er det jeg har HØRT, har aldri prøvd. Er ganske sikker på Erling Andreassen sa dette i en forelesning en gang, men skal ikke vedde skalpen min på det. Lenke til kommentar
enden Skrevet 21. juli 2003 Del Skrevet 21. juli 2003 Nå er jo ikke sql det samme fra database til database heller da... Lenke til kommentar
smetho Skrevet 21. juli 2003 Del Skrevet 21. juli 2003 Nei nei men ikke det vi diskuterte, hehe. Lykke til på konten da. Antar du slipper å konte på PG401....arg, dreit meg ut! Kunne det jo! Lenke til kommentar
enden Skrevet 21. juli 2003 Del Skrevet 21. juli 2003 pg'n var så lett at jeg er litt irritert over 1.5 Prog er stort sett greit, for det sitter i fingrene. Lenke til kommentar
smetho Skrevet 21. juli 2003 Del Skrevet 21. juli 2003 Jeg syns også PGen var grei. Oppgavene da. Men rota så fælt...klarte ikke endre det mens det stod på heller. *sukke* Lenke til kommentar
dacourt Skrevet 21. juli 2003 Forfatter Del Skrevet 21. juli 2003 pg'n var så lett at jeg er litt irritert over 1.5 Prog er stort sett greit, for det sitter i fingrene. Begynner å bli rimelig off-topic her nå, men gratulerer så mye med 1.5 :)Du kan vel ikke at klage på den karakteren? mvh dacourt Lenke til kommentar
enden Skrevet 22. juli 2003 Del Skrevet 22. juli 2003 Åja, vi drev jo å snakket om noe her Har du fått til? Lenke til kommentar
dacourt Skrevet 22. juli 2003 Forfatter Del Skrevet 22. juli 2003 Åja, vi drev jo å snakket om noe her Har du fått til? Er ikke ferdig enda nei, men kommer ikke til å stresse med det nå. Har andre ting som må implementeres først. Optimaliseringen kan gjøres etterpå. mvh dacourt Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå