sql >> Databasteknik >  >> RDS >> Mysql

Datetime vs Datum och tid Mysql

Det är en enorm skillnad i prestanda när du använder DATUM-fältet ovanför DATUM-TID-fältet. Jag har en tabell med mer än 4.000.000 poster och för teständamål lade jag till 2 fält med båda sina egna index. Det ena använder DATETIME och det andra fältet använder DATE.

Jag inaktiverade MySQL-frågecache för att kunna testa ordentligt och gick över samma fråga i 1000x:

SELECT * FROM `logs` WHERE `dt` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10; DATETIME INDEX:197,564 sekunder.

SELECT * FROM `logs` WHERE `d` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10; DATUMINDEX:107,577 sekunder.

Att använda ett datumindexerat fält har en prestandaförbättring på:45,55 %!!

Så jag skulle säga att om du förväntar dig mycket data i din tabell, överväg att separera datumet från tiden med deras eget index.



  1. sök data från html-indata i mysql

  2. Kontrollera om RPC Out är aktiverat på en länkad server

  3. Skaffa VIEW ddl med hjälp av query

  4. Hur Degrees()-funktionen fungerar i PostgreSQL