Hallo allemaal,
Wij hebben een applicatie die zijn data in MySQL opslaat. Nu zijn dit op dit moment MyISAM tabellen, maar door wat problemen met concurrent INSERT's en SELECT's ben ik aan het testen met InnoDB en nu loop ik tegen wat raars aan. Het gaat om de volgende query:
Met de MyISAM tabel gaat dit snel en gebruikt hij de Index die op het datumtijdveld is gedefinieerd. Vervolgens heb ik de tabel omgezet naar InnoDB en run ik dezelfde query, maar nu gebruikt hij de index niet.
Hij gebruikt de index pas als ik de query zo geef:
Ik heb al gezocht op internet en de mysql site maar kan niet vinden waarom dat is? Heeft iemand dit misschien eerder mee gemaakt?
Wij hebben een applicatie die zijn data in MySQL opslaat. Nu zijn dit op dit moment MyISAM tabellen, maar door wat problemen met concurrent INSERT's en SELECT's ben ik aan het testen met InnoDB en nu loop ik tegen wat raars aan. Het gaat om de volgende query:
SQL:
1
| SELECT * FROM tabel WHERE DATE(datumtijdveld) BETWEEN 2008-06-17 AND 2008-06-18 |
Met de MyISAM tabel gaat dit snel en gebruikt hij de Index die op het datumtijdveld is gedefinieerd. Vervolgens heb ik de tabel omgezet naar InnoDB en run ik dezelfde query, maar nu gebruikt hij de index niet.
Hij gebruikt de index pas als ik de query zo geef:
SQL:
1
| SELECT * FROM tabel WHERE datumtijdveld BETWEEN '2008-06-17 00:00:00' AND '2008-06-18 23:59:59' |
Ik heb al gezocht op internet en de mysql site maar kan niet vinden waarom dat is? Heeft iemand dit misschien eerder mee gemaakt?
Hail to the king baby!