webForumDet fria alternativet

klurig SQL fråga i Access

Databaser & SQL

1 svar · 232 visningar · startad av MrZEr0

Medlem sedan juni 20039 inlägg
Frågan#1

Hej,

håller på med ett besöksräknarscript till en långsam IIS server, vill därför göra en lösning där man räknar besökare per dag, alltså en databaspost per dag (ej en post per besökare som man skulle förespråka på en snabbare server, detta blir ej skoj vi >100 000 besökare).

Vill därför göra följande i Microsoft Access SQL:

(Tabellen ser ut så här: (ID, Datum, Hits))

if (Dagens Datum redan existerar i databasen) then
UPDATE hits SET Hits = hits + 1 WHERE Datum = now();
else
INSERT INTO hits (Hits, Datum) VALUES (0,now());
UPDATE hits SET Hits = Hits + 1 WHERE datum = now();
end if

Mvh

Fredrik Magnusson
http://www.fredrikmagnusson.com

Medlem sedan feb. 20011 198 inlägg
#2

Du måste ju fortfarande skicka frågan till accessfilen vid varje träff (vilket tar mycket kraft).
Det är nog bättre att du sätter en applicationvariabel om någon varit inne på sidan idag eller inte.

if not application(date) then
conn.execute("insert into hits (hits,datum) values(0,date())")
conn.execute("update hits set hits=hits+1 where datum = date()")
application(date) = true
end if
267 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)