Att spara ner db-resultatet direkt i en array med exempelvis getRows är fördelaktig eftersom du kan släppa db-anslutningen innan du loopar. Ska du öka presetandan ännu mer, kan du använda dig av en connection pooling.
Kör på det du känner att du behäskar... prestandan mellan dom är egentligen minimal på båda parterna (vad jag har sett / hört). Så länge du stänger kopplingen till databasen efter du är färdig med den så blir sajten mer stabil iallafall ;) Kan även nämna att getRows gör om allt till strängar(har jag för mig) så alla ID osv är sträng värden...
Ok, tack gubbar :) Öppnade för ett par dagar sedan Personlighet.com, men eftersom att jag har programmerat en funktion som låter medlemmarna bjuda in sina vänner på sin msn-lista, så blev sidan ganska tungt belastad snabbt, och segade ner som faen :( Så nu sitter jag och bygger om alla connections osv för att optimera så mkt som möjligt :)
Att stänga den så fort efter ditt anrop är rätt. Men du skall absolut inte öppna och stänga den mer än en gång per sida. Säg t.ex. att du har flera anrop till databasen på en och samma sida så kör dom på en och samma gång så öppna anslutning kör alla anrop och stäng sedan.
Något mer du skulle kunna kolla på är connection pooling, osäker på hur det fungerar i klassisk ASP. Fördelen med connection pooling är att du på förhand allokerar ett antal kopplingar till databasen som du sedan lånar i dina script. Du slipper därmed att hela tiden göra kostsamma anslutningar och nerkopplingar mot databasen, istället lånar och lämnar du bara tillbaka till connection poolen.
Använd Disconnected Recordsets.
Man ansluter och hämtar datan i ett recordset som vanligt, men kopplar ner och stänger serverkopplingen innan man loopar igenom alla poster.
Jag upplevde själv en dramatiskt prestandaförbättring med detta, speciellt om det är stora tunga frågor som repeteras i loopar.
266 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849