Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Optimizar consulta

Estas en el tema de Optimizar consulta en el foro de Mysql en Foros del Web. Buenas tardes, a ver si alguien me pudiera ayudar a mejorar la siguiente consulta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT * , applications.id as ...
  #1 (permalink)  
Antiguo 21/10/2011, 14:07
Avatar de claus0618  
Fecha de Ingreso: noviembre-2008
Ubicación: USA
Mensajes: 21
Antigüedad: 15 años, 4 meses
Puntos: 0
Optimizar consulta

Buenas tardes, a ver si alguien me pudiera ayudar a mejorar la siguiente consulta:

Código MySQL:
Ver original
  1. SELECT *, applications.id as appkey FROM applications
  2. WHERE USDOT_number in
  3. (select USDOT_number from applications where base_state='NV')
  4. ORDER BY userid, lastedit DESC limit 0, 100

En total la tabla tiene 9300 registros y con esta consulta se demora 94 segundos en traer de a 100 registros.

Espero me puedan ayudar. Muchas gracias.
  #2 (permalink)  
Antiguo 21/10/2011, 14:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Optimizar consulta

Creá un indice sobre el campo USDOT_number.base_state, o bien uno sobre (userid, lastedit)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 21/10/2011, 14:44
Avatar de claus0618  
Fecha de Ingreso: noviembre-2008
Ubicación: USA
Mensajes: 21
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Optimizar consulta

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Creá un indice sobre el campo USDOT_number.base_state, o bien uno sobre (userid, lastedit)
Gracias por tu ayuda. No puedo ponerle el indice al USDOT_number, ni al base_state, ni al userid ni al lastedit porque no son campos unicos. Se lo puse al campo id de la tabla. mejoro la consulta un segundo, ya se demora 93 segundos.

Alguna otra idea? o estoy haciendo algo mal?
  #4 (permalink)  
Antiguo 21/10/2011, 15:01
Avatar de claus0618  
Fecha de Ingreso: noviembre-2008
Ubicación: USA
Mensajes: 21
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Optimizar consulta

Ok...correccion.

Puse el index, sin necesidad de ser unique en el campo USDOT_number, y efectivamente la busqueda mejoro muchisimo, ya se demora solo 133 milisegundos =)

Muchas gracias!

Etiquetas: registros, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:29.