Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2008, 15:37
leinad256
 
Fecha de Ingreso: septiembre-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 21 años, 8 meses
Puntos: 0
Consulta Lenta.

Hola, espero que me puedan ayudar con este problema.
Tengo una consulta que le toma alrededor de 40 segundo en ejecutarse en un servidor virtual.

Basicamente hago una seleccion multiple entre una tabla de alrededor de 9mil registros, y otro de 24 mil registros.

La consulta es la siguiente :

SELECT vu.userid, vu.username, fs.score FROM flash_score AS fs, vBulletin_user AS vu WHERE fs.id_user LIKE vu.userid ORDER BY fs. score DESC LIMIT 0, 100;


Hice un EXPLAIN a mi consulta, y obtuve lo siguiente :


+----+-------------+-------+------+---------------+------+---------+------+-------+---------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+-------+---------------------------------+
| 1 | SIMPLE | fs | ALL | NULL | NULL | NULL | NULL | 9032 | Using temporary; Using filesort |
| 1 | SIMPLE | vu | ALL | NULL | NULL | NULL | NULL | 24309 | Using where; Using join buffer |
+----+-------------+-------+------+---------------+------+---------+------+-------+---------------------------------+


Me imagino que debido al escaneo completo de las dos tablas mezcladas, provoca dicha lentitud mencionada. En ambas tablas tengo un campo ID que son de caracter PRIMARY y es donde hace la comparacion. No se de que manera podria hacer que dicha consulta se ejecute mas rapido. Ya lei acerca de los campos INDEX, pero no se si se aplica en mi caso, debido a que en la clausula WHERE unicamente busco por indice y ya estan como indices PRIMARY KEY.


Espero que me puedan ayudar, saludos!
__________________
www.subflash.com <-----visita