sql >> Database teknologi >  >> RDS >> Mysql

Hvordan opretter man et indeks på datodelen af ​​DATETIME-feltet i MySql

Hvis jeg husker rigtigt, vil det køre en hel tabelscanning, fordi du sender kolonnen gennem en funktion. MySQL vil lydigt køre funktionen for hver eneste kolonne og omgå indekset, da forespørgselsoptimeringsværktøjet ikke rigtig kan kende resultaterne af funktionen.

Det, jeg ville gøre, er noget som:

SELECT * FROM transactionlist 
WHERE TranDateTime BETWEEN '2008-08-17' AND '2008-08-17 23:59:59.999999';

Det burde give dig alt, hvad der skete den 2008-08-17.



  1. Sådan aktiveres MySQL Query Cache

  2. Uddrag dato (åååå/mm/dd) fra et tidsstempel i PostgreSQL

  3. Sådan importeres XML-fil i Oracle SQL Developer?

  4. Re-slaving af en nedbrudt MySQL-masterserver i semisynkron replikeringsopsætning