29. april 2006 - 17:25Der er
3 kommentarer og 3 løsninger
Speciel MYSQL query
Hej
Jeg har en tabel fra programmet MRTG. I denne er der angivet en dato i formatet: YYYY-MM-DD Jeg vil gerne søge i dette data, men tabellen er omkring 200 mb, så jeg vil gerne hente så lidt som muligt ind til bearbejdning. Jeg kan vælge ud fra tabellen med ip men i min søgefunktion har jeg en til og fra dato angivet, og som det er lige nu, henter den alt trafik data ud for den ip, og viser kun dem som er inde for den tidsramme... Jeg vil derfor høre om det er muligt at skrive i mysql_query() sådan at den kun henter de rækker hvor acc_date er mellem $_POST[timefrom] og $_POST[timeto]. De er alle i formatet YYYY-MM-DD. Håber nogen kan hjælpe...
Jeg er ikke helt sikker på, at jeg forstår dit spørgsmål: Måske kan det her bruges: mysql_query("SELECT * FROM dinTabel WHERE '$_POST[timefrom]'<=acc_date AND acc_date<='$_POST[timeto]'");
Jeg tror, at det er meget hurtigere og sikrere at sammenligne på datoen i stedet for at sammenligne på et tal. Det vil jo tage lang tid, hvis datoerne i alle dine rækker skal laves om til tal, før databasen kan sammenligne om det er noget, som kan bruges. Det vil også være en god idé, hvis du indekserer din tabel på din datokolonne, når du udvælger på baggrund af datoen - det vil også gøre forespørgslen meget hurtigere i din database.
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.