Avatar billede s_raagaard Nybegynder
17. januar 2002 - 18:44 Der er 2 kommentarer og
1 løsning

Recordset performance i frameset

Jeg har et f.eks. et frameset som består af 3 frames, i hver af disse frames kaldes en asp side som henter data fra en database.

Er der performance forskel på at man kalder sine recordset objecter det samme på hver side i framesettet:

Set RS = Server.CreateObject(\"ADODB.Recordset\")

eller får men hurtigere performance ved at kalde dem forskelligt:

side 1
Set oRS = Server.CreateObject(\"ADODB.Recordset\")

side 2
Set mRS = Server.CreateObject(\"ADODB.Recordset\")

side 3
Set vRS = Server.CreateObject(\"ADODB.Recordset\")

Bliver server objectet etableret i forhold til den enkelte sides session? - eller er det for brugersession?

Det samme gælder om connection objectet...

Er der noget at hente ved at lukke sine recordset objecter på hver side, ud over man lukker sin connection som har samme navn på alle sider:

RS.Close
Set RS = nothing

Er der nogle performance tip her.....vedr. sådanne frameset (og det skal være frameset i denne situation)

/sr
Avatar billede coltau Juniormester
17. januar 2002 - 21:14 #1
Det var mange spørgsmål på en gang. !

1. Navnet på recordset-objekterne er ligegyldigt. De vil blive behandlet som 4 forskellige recordset alligevel.

2. Server-objektet (jeg læser: Session-objektet) er fælles for alle fire. Der er derfor her en mulighed for at oprette et RecordSet som deles af alle fire. Det vil sikkert give en vis performance da recordsettet (og connention) kun skal oprettes en gang - men jeg mener ikke at det er det værd i det de tre sider i framen normalt kun kaldes en gang.
Jeg mener at der skal være en god grund til at oprette en connection/recordset globalt i Sessionen da den er aktiv sålænge brugeren besøger siden. Det er nok kun interessant hvis man har få besøgende med mange forskellige udtræk. Har man mange besøgende skal man lave små korte connections og lukke recordsettet så hurtigt som muligt.
Den gyldne regel er at sessionsvariable skal leve kort tid eller kun bestå af følsomme oplysninger (login/password) eller andre små oplysninger som ikke ændre sig sålænge brugeren er på siden.

3. Vedr. performancetips til recordset. Det bedste er at åbne framen en gang for alle og derefter lade et af vinduerne skifte ved tryk på link. På nogle sider skiftes hele framen hver gang og andre sider anvender ikke frame. De sider vil altid være langsommere. (Alt afhængig af indholdet.)

Er du interesseret i performance/\"ASP bag facaden\" så klik ind op www.idgforlag.dk og søg på ordet ASP. Så fremkommer titlen på en knaldHAMrende god bog om emnet. (ASP - Active Server Pages / Willie & Koller)

Ingen burde uploade ASP-kode før den er læst og forstået.

/Coltau
Avatar billede coltau Juniormester
17. januar 2002 - 21:16 #2
PS. Jeg er ikke skolelære eller på anden måde hellig. !
Avatar billede s_raagaard Nybegynder
17. januar 2002 - 21:27 #3
Tak for den fyldige kommentar....

Nu er det sådan at framesettet genereres hver gang der linkes videre fra menuer o.s.v.
for at der kan linkes \"dybt\" selv om det er et frameset, hvor menuer åbnes op, og sider scroller til det relevante indhold, f.eks. baseret på et søgeresultat. Der er mange brugere på sitet, som læser content fra databasen.

En af grundende til framesettet er at der optræder forskellige dokument typer, som der kan linkes dybt til, uden at man mister navigation m.m. (bliver framet ind)- det fungere faktisk godt, men jeg ved at der kommer mange brugere på sitet, så jeg vil bare sikre mig at applicationen yder den bedste performance.

/sr
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester