Avatar billede genvej Nybegynder
13. februar 2006 - 16:41 Der er 2 kommentarer

mit index bruges ikke??

index på A:
some_id

index på B:
a_id


på trods af mit index på B bruges indexet ikke :-(

explain plan siger
|id|select_type|table|type|possible_keys|key|key_len|ref|rows|
|1|SIMPLE|      B|    ALL| a_id|        [NULL]|[NULL]|[NULL]|399268


select B.* from B, A where A.some_id=85743 and B.some_id=0 and A.id=B.a_id


Hvorfor er bliver min possible_keys ikke brugt?
Avatar billede razmuz_dk Nybegynder
13. februar 2006 - 22:56 #1
Umiddelbart synes jeg det ser ud som en fejl i databasestrukturen.

Hvad sker der hvis du bruger USE INDEX()-funktionen? Syntaxen for USE INDEX er ... FROM tabelnavn USE INDEX(index_navn) ... hvis du ikke vidste det. PRøv evt. også med FORCE INDEX().
Avatar billede genvej Nybegynder
15. februar 2006 - 13:21 #2
??? Ved ikke hvad du mener med en fejl i databasestrukturen.

jeg har gjort det endnu mere simpelt:

explain select * from invoice_records where invoice_bil_id=34

der ligger et index på invoice_bil_id men det bliver ikke brugt. Heller ikke når jeg kører use index(invoice_bil_id). Explain planen lister det under possible index men bruger det ikke

jeg kører 4.1.9-nt
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