Avatar billede mobildata Nybegynder
10. november 2006 - 22:32 Der er 6 kommentarer og
1 løsning

Brug af index ved BETWEEN

Kan mysql ikke bruge index når man f.eks laver en SELECT på en given periode.

Og hvor der er index på datokolonnen

se eksempel:

EXPLAIN SELECT * FROM Test WHERE date BETWEEN '2006-10-01' AND '2006-11-01'

resultat:

table  type  possible_keys  key  key_len  ref  rows  Extra 
Test ALL date NULL NULL NULL 255 Using where

(den har ledt alle rækker igennem selvom der er rækker før den 2006-10-01)
Avatar billede mobildata Nybegynder
10. november 2006 - 23:19 #1
tilføjelse:

hvis jeg søger på datoer inden for samme måned. bruger den date index..
Avatar billede coderdk Praktikant
11. november 2006 - 01:23 #2
Prøv:

EXPLAIN SELECT * FROM Test WHERE date FORCE INDEX (indexnavn) BETWEEN '2006-10-01' AND '2006-11-01'

Husk at rette indexnavn.

MySQL's query planner skulle slæbes udenfor og skydes.
Avatar billede mobildata Nybegynder
11. november 2006 - 13:20 #3
den giver mig desværre fejl hvis jeg bruger FORCE INDEX ()

Jeg kører 4.0.27 kan det have noget at sige...?
Avatar billede coderdk Praktikant
11. november 2006 - 17:12 #4
Det var mig der sov:

EXPLAIN SELECT * FROM Test FORCE INDEX (indexnavn) WHERE date BETWEEN '2006-10-01' AND '2006-11-01'

Satte den det forkerte sted...
Avatar billede coderdk Praktikant
11. november 2006 - 17:13 #5
Det var mig der sov:

EXPLAIN SELECT * FROM Test FORCE INDEX (indexnavn) WHERE date BETWEEN '2006-10-01' AND '2006-11-01'

Satte den det forkerte sted...

(Denne besked kommer måske to gange :\)
Avatar billede mobildata Nybegynder
13. november 2006 - 22:02 #6
Så var den dér!

Mange tak! Læg endeligt et svar!
Avatar billede coderdk Praktikant
13. november 2006 - 22:17 #7
Ok :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester