Visa koden också, så att det inte skiljer sig där... :)
------------------
Ze mor aj kåmmjonikejt wiz pipol ze mor i lörn.
7 svar · 390 visningar · startad av Herman
Ska inte GetRows vara snabbare än Recordset? Jag har suttit och testat de båda varianterna och finner inte alls att GetRows är snabbare än Recordset. Får samma totaltid för båda fallen. Det man tjänar i tid på att loopa igenom datan verkar förloras då man fyller arrayen.
Har någon andra erfarenheter?
----------------------------------------
SELECT * FROM viewdokument
where fld1='asa' AND fld2='jahaja' AND doktyp in ('apa','epa','ipa')
ORDER BY fld1,doktyp,beteckning
----------------------------------------
Start: 15:23:24
RS opened: 15:23:25
RS count: 15:23:26
RS GetRows: 15:23:33 <- Tar 7 sekunder att fylla array!!!
Sökning på gav 1046 träffar.
------------------
En eller annan godbit från pannan
Visa koden också, så att det inte skiljer sig där... :)
------------------
Ze mor aj kåmmjonikejt wiz pipol ze mor i lörn.
Det är inte mkt kod i fråga
Response.Write "<HR><FONT size=1>" & SQL & "</FONT><HR>"
Response.Write "Start:" & Time
rs.CacheSize = 2000
rs.Open sql, cn,1,1
Response.Write "<BR>RS opened: " & Time
intHits = rs.RecordCount
Response.Write "<BR>RS count: " & Time
arrdata = rs.GetRows
rs.Close
Response.Write "<BR>RS GetRows: " & Time
------------------
En eller annan godbit från pannan
Som jag har förstått det är det själva användningen av ett Recordset som slöar ner. Du måste ha en databaskoppling öppen hela tiden, osv. Med GetRows öppnar du, hämtar allt från databasen, stänger och loopar.
Du öppnar ju bara recordsettet, vilket även måste ( Okey, inte _måste_, men det är lite bättre ;) ) göras med GetRows.
Gör ett test ( Helst på två olika sidor ) som hämtar och loopar data från databasen, så kan du göra en rättvis jämförelse.
------------------
SPiN, bjorne.w@telia.com
Tar 7 sekunder att fylla array!!!
Fel, det tar 7 sekunder att fylla array OCH stänga recordsettet.
Som jag har förstått det är det själva användningen av ett Recordset som slöar ner. Du måste ha en databaskoppling öppen hela tiden, osv. Med GetRows öppnar du, hämtar allt från databasen, stänger och loopar.
Just själva fyllandet av arrayen kan ta tid.
Disconnected recordsets oftast är att föredra
Ursprungligen av SPiN Som jag har förstått det är det själva användningen av ett Recordset som slöar ner. Du måste ha en databaskoppling öppen hela tiden, osv.
Där har du fel. Man kan ha frånkopplade recordsets.
Vill du bara veta hur många poster i databasen som berörs??
Om du vill det skippa Recordsetet helt och kör bara en:
strSQL = "SELECT count(*) FROM TABELL" 'Din sqlsats
set counter = Connect.Execute(strSQL)
Response.Write counter.fields(0) & "<br>"
eller har jag fattat detta helt fel??