Performance SELECT mit FORCE INDEX

muehl

Grünschnabel
Ich habe ein Performance problem mit einem SELECT Statement. Die dazugehörige Tabelle ist ziemlich groß, ca. 651.000 Zeilen. Das Statement sieht so aus:

SELECT SQL_CACHE ID, filename,
FROM table
FORCE INDEX ( ID_2 )
WHERE ID >90000
ORDER BY page_rank DESC
LIMIT 245 , 15

Der Index ID_2 sieht so aus:

Name:ID_2, Typ: INDEX, Kardinalität: 651002, Felder: ID, page_rank

Die Abfrage dauert leider sehr lange, bis zu 40 Sek.. Ein EXPLAIN zeigt mir fogende Werte:

table: table
type: range
possible_keys: ID_2
key: ID_2
Key_len:4
ref: NULL
rows: 651002
Extra: Using where; Using filesort

Was mache ich falsch? Warum durchläuft er alle Zeilen der Tabelle und warum steht dort noch Using filesort obwohl ich diesen Index definiert habe?


Ich hoffe auf Hilfe...
 
Hi
Ist die Option query_cache_type in deiner Config auf DEMAND?
Hast du es schon mal ohne die Option SQL_CACHE versucht?

Mach mal aus ID und pagerank jeweils alleine einen INDEX..

Gruss
 
Zurück