Wat is de snelste manier om records naar pagina te schrijven in ASP?

1) Hoe moet het niet?
bijna iedereen die developed in asp en hiervoor records uit een database haalt om naar een pagina te schrijven maakt gebruik van de recordset op deze manier :
CODE
  1. <%
  2. ' Open Database
  3. Do UNTIL rs.eof
  4.     city=rs("city")
  5.     st=rs("state")
  6.     zip=rs("zip")
  7.     rs.movenext
  8.     ... process and format data ....
  9. LOOP
  10. ' Close database
  11. %>
2) Hoe moet het dan wel?
Heel simpel eigenlijk,
ASP voorziet een soort van Array waarin records gemakkelijk kunnen gestockeerd en geraadpleegd worden, dit gaat zo in zijn werk :
* vraag het sql resultaat aan de db (bv : rstemp)
* steek dit via het getrows commando in een array : alldata=rstemp.getrows
* via Ubound kan je het # cols en rows van de array verkrijgen

numcols=ubound(alldata,1)
numrows=ubound(alldata,2)

* gebruik nu een eenvoudige FOR lus om je records af te drukken in bv een tabel

3) Waarom is getrows sneller?
stel dat je met recordsets werkt en een database hebt me 700 records en 3 velden dan kan je eenvoudig het # requests optellen :

+2,100 ... Each field read is a request
+700 ..... Each .movenext is +1 request
+700 ..... Each .eof test is +1 request
====
3,500 requests


Bij de getrows methode is slechts 1 request .... meer moet niet meer gezegd worden denk ik ? :)

4) Bestaat er nog een snellere manier?
Voor de performantie-beesten onder ons is deze link een absolute must: http://www.learnasp.com/learn/speedappdata.asp.Dit artikel werd geschreven door Bridge_Burner op woensdag 8 oktober 2003 om 22:44 en werd sindsdien 2294 keer gelezen.

  • Pagina
  • 1 van 1

Geen reacties gevonden
Er werden nog geen reacties bij dit artikel geplaatst.
  • Indien je denkt iets te kunnen toevoegen aan het artikel, kan je zelf een reactie schrijven via de koppeling Plaats een reactie bij dit artikel hieronder.
  • Indien je andere commentaar (iets wat niet meteen functioneel bijdraagt aan het artikel zelf) hebt, kan je een bedankje formuleren via de koppeling Plaats een bedankje bij dit artikel hieronder.