Efter lite klurande bestämde jag mig för att genomföra ett litet test. Nu är ju inte jag världens bästa på att göra test så har ni synpunkter så känn er fria att kommentera hur mycket ni vill.
Totalt blev det 4 tester:
add_to_tblorder.asp
add_to_tblorder2.asp
add_to_tblorder3.asp
add_to_tblorder4.asp
add_to_tblorder.asp hämtar senaste RefNr (ordernummer) i databasen lägger till 1 och sparar sedan beställningen i databasen.
add_to_tblorder2.asp sparar beställningen i databasen, låter databasen skapa ett RefNr och hämtar sedan detta.
add_to_tblorder3.asp hämtar senaste RefNr från en textfil lägger till 1 och sparar om filen med det nya värdet och sparar sedan beställningen i databasen.
add_to_tblorder4.asp genererar ett RefNr av datum, tid och millisekunder och sparar sparar sedan beställningen i databasen.
Tanken är att alla i slutet ska ha ordernumret lagrat i variabeln RefNr. Från ett genomsnitt av 8 försök och avrundat till 5 decimaler fick jag fram detta:
add_to_tblorder.asp 0,3583975
add_to_tblorder2.asp: 0,33593625
add_to_tblorder3.asp: 0,12597375
add_to_tblorder4.asp: 0,120115
Verkar det rimligt?
Testerna:
add_to_tblorder.asp
<%
Session.LCID = 1053
Response.Expires = -1500
Dim RefNr, Kampanjkod, OrderText, Datum, Produkt, Epost
Kampanjkod = "Test001"
OrderText = "Detta är texten för att testa mailet med"
Datum = Date()
Produkt = "Produkt1, Produkt2, Produkt3"
Epost = "JANspeed@telia.com"
'------------------------------------------------------------
'Timer start
'------------------------------------------------------------
Dim StartTime, EndTime, TimeIt
StartTime = Timer
'------------------------------------------------------------
'Execute
'------------------------------------------------------------
Dim Conn, rs, SQL
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString =
Conn.Open
SQL = "SELECT TOP 1 RefNr FROM tblOrder ORDER BY RefNr DESC"
Set rs = Conn.Execute(SQL)
If rs.EOF Then
RefNr = 1
Else
RefNr = rs("RefNr") + 1
End If
SQL = "INSERT tblOrder (RefNr, Kampanjkod, OrderText, Datum, Produkt, Epost) VALUES (" & RefNr & ", '" & kampanjkod & "', '" & OrderText & "', " & Datum & ", '" & Produkt & "', '" & Epost & "')"
Set rs = Conn.Execute(SQL)
'------------------------------------------------------------
'Close
'------------------------------------------------------------
'rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
'------------------------------------------------------------
'Timer ends
'------------------------------------------------------------
EndTime = Timer
TimeIt = EndTime - StartTime
Response.Write "Tiden: " & Round(TimeIt, 5) & "<br>"
%>
Reslutat:
0,59766
0,30859
0,30078
0,3125
0,32031
0,38281
0,3125
0,33203
0,3583975
add_to_tblorder2.asp
<%
Session.LCID = 1053
Response.Expires = -1500
Dim RefNr, Kampanjkod, OrderText, Datum, Produkt, Epost
Kampanjkod = "Test002"
OrderText = "Detta är texten för att testa mailet med"
Datum = Date()
Produkt = "Produkt1, Produkt2, Produkt3"
Epost = "JANspeed@telia.com"
'------------------------------------------------------------
'Timer start
'------------------------------------------------------------
Dim StartTime, EndTime, TimeIt
StartTime = Timer
'------------------------------------------------------------
'Execute
'------------------------------------------------------------
Dim Conn, rs, SQL
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString =
Conn.Open
SQL = "INSERT tblOrder2 (Kampanjkod, OrderText, Datum, Produkt, Epost) VALUES ('" & kampanjkod & "', '" & OrderText & "', " & Datum & ", '" & Produkt & "', '" & Epost & "')"
Set rs = Conn.Execute(SQL)
SQL = "SELECT TOP 1 RefNr FROM tblOrder2 ORDER BY RefNr DESC"
Set rs = Conn.Execute(SQL)
RefNr = rs("RefNr")
'------------------------------------------------------------
'Close
'------------------------------------------------------------
'rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
'------------------------------------------------------------
'Timer ends
'------------------------------------------------------------
EndTime = Timer
TimeIt = EndTime - StartTime
Response.Write "Tiden: " & Round(TimeIt, 5) & "<br>"
%>
Resultat:
0,58984
0,30078
0,26953
0,3125
0,32031
0,30078
0,29297
0,30078
0,33593625
add_to_tblorder3.asp
<%
Session.LCID = 1053
Response.Expires = -1500
Dim RefNr, Kampanjkod, OrderText, Datum, Produkt, Epost
Kampanjkod = "Test003"
OrderText = "Detta är texten för att testa mailet med"
Datum = Date()
Produkt = "Produkt1, Produkt2, Produkt3"
Epost = "JANspeed@telia.com"
'------------------------------------------------------------
'Timer start
'------------------------------------------------------------
Dim StartTime, EndTime, TimeIt
StartTime = Timer
'------------------------------------------------------------
'Open textfile
'------------------------------------------------------------
Dim fileFSO, filePath, R
Set fileFSO = Server.CreateObject("Scripting.FileSystemObject")
Set R = fileFSO.OpenTextFile(Server.MapPath("/utveckling/test/AddToDB/counter.txt"), 1)
RefNr = R.ReadLine + 1
R.Close
Set R = fileFSO.OpenTextFile(Server.MapPath("/utveckling/test/AddToDB/counter.txt"), 2)
R.WriteLine RefNr
R.Close
Set R = Nothing
Set fileFSO = Nothing
'------------------------------------------------------------
'Execute
'------------------------------------------------------------
Dim Conn, rs, SQL
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString =
Conn.Open
SQL = "INSERT tblOrder (RefNr, Kampanjkod, OrderText, Datum, Produkt, Epost) VALUES (" & RefNr & ", '" & kampanjkod & "', '" & OrderText & "', " & Datum & ", '" & Produkt & "', '" & Epost & "')"
Set rs = Conn.Execute(SQL)
'------------------------------------------------------------
'Close
'------------------------------------------------------------
'rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
'------------------------------------------------------------
'Timer ends
'------------------------------------------------------------
EndTime = Timer
TimeIt = EndTime - StartTime
Response.Write "Tiden: " & Round(TimeIt, 5) & "<br>"
%>
Resultat:
0,38281
0,12109
0,10156
0,08203
0,07031
0,08984
0,07031
0,08984
0,12597375
add_to_tblorder4.asp
<%
Session.LCID = 1053
Response.Expires = -1500
Dim RefNr, Kampanjkod, OrderText, Datum, Produkt, Epost
Kampanjkod = "Test004"
OrderText = "Detta är texten för att testa mailet med"
Datum = Date()
Produkt = "Produkt1, Produkt2, Produkt3"
Epost = "JANspeed@telia.com"
'------------------------------------------------------------
'Timer start
'------------------------------------------------------------
Dim StartTime, EndTime, TimeIt
StartTime = Timer
'------------------------------------------------------------
'Generate RefNr
'------------------------------------------------------------
RefNr = Right(Year(Datum), 2) & Month(Datum) & Day(Datum) & Hour(Time) & Minute(Time) & Second(Time) & Right(Timer, 4)
RefNr = Replace(RefNr, ",", "")
'------------------------------------------------------------
'Execute
'------------------------------------------------------------
Dim Conn, rs, SQL
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString =
Conn.Open
SQL = "INSERT tblOrder (RefNr, Kampanjkod, OrderText, Datum, Produkt, Epost) VALUES (" & RefNr & ", '" & kampanjkod & "', '" & OrderText & "', " & Datum & ", '" & Produkt & "', '" & Epost & "')"
Set rs = Conn.Execute(SQL)
'------------------------------------------------------------
'Close
'------------------------------------------------------------
'rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
'------------------------------------------------------------
'Timer ends
'------------------------------------------------------------
EndTime = Timer
TimeIt = EndTime - StartTime
Response.Write "Tiden: " & Round(TimeIt, 5) & "<br>"
%>
Resultat:
0,35156
0,07812
0,09766
0,07812
0,08984
0,08203
0,08203
0,10156
0,120115
Kan det här stämma? Vore väldigt kul att höra vad ni tycker? :)
/JANspeed
[Redigerat av Janspeed den 08 nov 2001]