| Performance Problem SELECT with FORCE INDEX [message #1117] |
Thu, 19 April 2007 13:12  |
coller Messages: 1 Registered: April 2007 |
Junior Member |
|
|
I have the following performance problem with a select statement. The table is about 651.000 entries. The statement looks like:
SELECT SQL_CACHE ID, filename,
FROM table
FORCE INDEX ( ID_2 )
WHERE ID > 90000
ORDER BY page_rank DESC
LIMIT 245 , 15
The index ID_2 is:
Name:ID_2, Typ: INDEX, Cardinality: 651002, Fields: ID, page_rank
The request last very long, about 45 secs. The EXPLAIn shows the following:
table: table
type: range
possible_keys: ID_2
key: ID_2
Key_len:4
ref: NULL
rows: 651002
Extra: Using where; Using filesort
What do I wrong? Why does mysql run through the hole table? Why "Using filesort" even I use the index ID_2??
Please help! Thank in advance!
|
|
|
|
|
| Re: Performance Problem SELECT with FORCE INDEX [message #1128 is a reply to message #1119 ] |
Sat, 21 April 2007 05:15  |
sterin Messages: 324 Registered: March 2007 Location: Sweden |
Senior Member |
|
|
| Peter wrote on Sat, 21 April 2007 00:05 | You have index on (ID,page_rank) and ordering on page_rank
MySQL can't use index for order by in such case.
...
|
Right, sorry it can only use it when ID = const. Not ID < or > something.
|
|
|