FAQ |
Kalender |
|
![]() |
#1 | ||
|
|||
Flitig postare
|
Jag gör en del SELECT-frågor där resultatet skall innehålla rader där en viss kolumn är lika med ett visst datum.
Exempel: SELECT * FROM T WHERE MYDATE = CURRENT_DATE MYDATE är ett datum-fält (innehåller ej tid) och har ett "normalt" index. Tabellen är av typen myisam. Jag upplever att denna fråga, trots att den matchar på ett värde exakt och trots att datum-kolumnen har ett index, tar väldigt lång tid att exekvera. Min tabell har miljontals rader. Men det är endast 15000 - 20000 rader som matchar ett visst datum. Problemet är som sagt att den här frågan kan ta ganska lång tid att exekvera. Går det att få den att exekvera snabbare på något sätt? Jag har läst i manualen om BTREE men vet inte riktigt om den typ av index går att tillämpa på datum. Då och då sorterar jag på datum i andra frågor och enligt manualen fungerar inte det om man har ett BTREE index. Men det kanske går att ha både ett normalt och ett BTREE index samtidigt, utan problem? |
||
![]() |
![]() |
Svara |
|
|