Emil Rasmussen wrote:
>
> Hey
>
> Jeg har et tabel med 9000+ poster, hvilket jo egentligt ikke er så meget,
> men jeg er ikke tilfreds med hastigheden ved følgende query:
>
> SELECT count(id) FROM tblTabel WHERE felt != '' AND
> DATE_FORMAT(mitDatoFelt,'%Y%m%d') = 20011120;
>
> Det tager for langt tid, når jeg laver den på en måned af gangen.
>
> Jeg har et index på felt og mitDatoFelt, men det bliver ikke brugt fordi,
> jeg jo laver en funktion på mitDatoFelt og MySQL jo så alligevel skal
> igennem alle felter.
>
> Mit spørgsmål er så, om jeg virkelig skal dele dato feltet op i selvstændige
> felter så min query bliver sådan her:
>
> SELECT count(id) FROM tblTabel WHERE felt != '' AND datoYear = 2001 AND
> datoMonth = 11 AND datoDay = 20;
>
> Der er et eller andet jeg ikke kan lide, ved at gør det på den måde, men mon
> ikke der er nogle der har nogle erfaringer?
Er der noget galt med
SELECT count(id) FROM tblTabel WHERE felt != '' AND
mitDatoFelt between '20011120 00:00:00' and '20011120 23:59:59'
?
--
Kristian Damm Jensen | Feed the hungry. Go to
kristian-damm.jensen@cgey.dk |
http://www.thehungersite.com
Two wrongs doesn't make a right, but three lefts do.