Ik heb een vraag:
MySQL client version: 4.0.24
Ik heb een simpele query die ik wil optimaliseren. De Query in eerste instantie is als volgt:
Deze query gaat er +- in 0.2s er door heen (zijn 65,076 rows in dbase)
date is een datefield en een datefield als een string behandelen is niet netjes.
Nu heb ik het ook als volgt geprobeerd:
Dit is volgens mij netter, maar in snelheid maakt het niet veel uit. Het blijft rond de 0.2s.
Aangezien deze query een keer of 20 achter elkaar gedraaid wordt (PHP), Zit in een foreach en daar kan ik wat dat betreft weinig aan doen, is deze query een grote vertragende factor.
Nu is mijn vraag of er iemand een idee heeft over het optimaliseren van een query met een datum.
Ik moet ook nog zeggen dat ik het volgende heb geprobeerd:
Alleen geeft dit de verkeerde resultaten (hij pakt hier als datum 2007-02-01) Dus hier doe ik wat verkeerd. Maar een kleine note hierbij is dat ook deze query er zo'n 0.2s overdoet.
Ik heb een multi index gezet op fieldid,serviceid,siteid,datum dus dat zit volgens mij ook wel goed.
anyone?
MySQL client version: 4.0.24
Ik heb een simpele query die ik wil optimaliseren. De Query in eerste instantie is als volgt:
code:
1
2
3
4
5
6
| SELECT value AS total FROM data WHERE fieldid = 1 AND serviceid = 1 AND siteid = 8 AND date = '2007-02-03' |
Deze query gaat er +- in 0.2s er door heen (zijn 65,076 rows in dbase)
date is een datefield en een datefield als een string behandelen is niet netjes.
Nu heb ik het ook als volgt geprobeerd:
code:
1
2
3
4
5
6
7
8
| SELECT value AS total FROM data WHERE fieldid = 1 AND serviceid = 1 AND siteid = 8 AND YEAR(date) = 2007 AND MONTH(date) = 02 AND DAYOFMONTH(date) = 03 |
Dit is volgens mij netter, maar in snelheid maakt het niet veel uit. Het blijft rond de 0.2s.
Aangezien deze query een keer of 20 achter elkaar gedraaid wordt (PHP), Zit in een foreach en daar kan ik wat dat betreft weinig aan doen, is deze query een grote vertragende factor.
Nu is mijn vraag of er iemand een idee heeft over het optimaliseren van een query met een datum.
Ik moet ook nog zeggen dat ik het volgende heb geprobeerd:
code:
1
2
3
4
5
6
| SELECT value AS total FROM data WHERE fieldid =1 AND serviceid =1 AND siteid =8 AND DATE_ADD(date, interval 1 DAY) = '2007-02-03' |
Alleen geeft dit de verkeerde resultaten (hij pakt hier als datum 2007-02-01) Dus hier doe ik wat verkeerd. Maar een kleine note hierbij is dat ook deze query er zo'n 0.2s overdoet.
Ik heb een multi index gezet op fieldid,serviceid,siteid,datum dus dat zit volgens mij ook wel goed.
anyone?
This space for rent. Serious inquiries only please.