og det går helt fint, problemet er at hvis alle data bliver gemt i een tabel i stedet for flere, bliver det alt for tungt at eksempelvis bare vise hvor mange unikke besøgende der har været på siden. Så jeg kunne godt tænke mig nogle bud på hvordan man skal gemme data, således man deler kompleksiteten mellem logning af data og præsentation data. Håber det gav mening......
det er muligt at jeg tager fejl, men jeg har lavet lidt test af ovenstående logning med bare een tabel og jeg vil eksempelvis gerne præsentere en lille oversigt over hvormange : sidevisninger unikke besøg (browser id) unikke besøgende (ip adresse) der har været : idag siden i mandags siden logning startede
Disse data giver umiddelbart 9 udtræk og hvis jeg har 50mb data, skal jeg søge igennem 450mb data for at præsentere disse 9 tal. Det må da kunne gøres bedre..... :-)
Ja, det er selvfølgelig rigtigt. Men hvis min nuværende tabel bare var delt i to, kunne jeg jo nøjes med at gennemløbe halvdelen af den nuværende tabels tupler ved nogen af mine queries, hvis det ellers bliver designet rigtigt.
Okay, nu har jeg læst dine links. Det kan være du kan fortælle mig, hvorfor disse queries der hver bliver kaldt to gange med forskellige datoer, tager over 20 sekunder på en ellers ret hurtig server. Der er lavet index på de datafelter der selecteres på. Du kan selv afprøve det på http://fcs.skjoldhoej.dk/stat/statistik.php
select count(UserID) from table where TimeVisited > 'date' AND TimeVisited < 'date';
select count(distinct UserID) from table where TimeVisited > 'date' AND TimeVisited < 'date';
select count(distinct RemoteAddress) from table where TimeVisited > 'date' AND TimeVisited < 'date';
Nej, de tager alle mellem 2 og 3 sekunder, hvis jeg "kører" dem direkte på databasen. Og der er jo 9 stk, så et par sekunder til php'en så er vi på 20 sekunder......
Dette er de data der bliver præsenteret, hvor hver kolonne er: Tidsperiode, Sidevisninger, Unikke besøg, Unikke besøgende Idag: 81, 4, 4 Siden mandag denne uge: 400, 36, 34 Siden d. 27/01-2004 * 30261, 1478, 818
Ja, der er index på timevisited Nej, alle queries tager ikke lige lang tid, men det gjorde ikke nogen forskel om jeg sendte dem afsted på een gang via min db manager eller en af gangen gennem php. Ja, jeg bruger postgresql Har dog fundet ud af at mine queries bliver noget hurtigere, hvis jeg benytter "between" i stedet for ">" og "<".
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.