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

Optimizacion de Consulta SQL

Estas en el tema de Optimizacion de Consulta SQL en el foro de Mysql en Foros del Web. Hola... Amigos tengo una base de datos y en ella una tabla con más de 200,000 registros. Estoy haciendo una consulta de este tipo: Código: ...
  #1 (permalink)  
Antiguo 21/11/2011, 23:00
 
Fecha de Ingreso: noviembre-2008
Mensajes: 89
Antigüedad: 15 años, 5 meses
Puntos: 0
Optimizacion de Consulta SQL

Hola...

Amigos tengo una base de datos y en ella una tabla con más de 200,000 registros.


Estoy haciendo una consulta de este tipo:

Código:

select campo1, campo2, campoN 
from TABLA
where campo1 like 'VALOR%' limit 10
Pero la consulta demora a veces hasta 5, 9 10 segundos... Un poco lenta. ¿ Hay alguna forma de optimizar esta consulta?

Muchas Gracias.
  #2 (permalink)  
Antiguo 21/11/2011, 23:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 89
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Optimizacion de Consulta SQL

Por ahora, tengo una solución.

He cambiado de motor de almacenamiento de InnoDB a MyISAM... Y ahora mi consulta vuela...

Pero en caso de que le deje InnoDB. Cómo puedo solucionar?
  #3 (permalink)  
Antiguo 22/11/2011, 06:42
 
Fecha de Ingreso: noviembre-2008
Mensajes: 89
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Optimizacion de Consulta SQL

Hola.... Nuevamente yo me respondo.

Cómo quiero mi tabla InnoDB y no MyISAM, entonces lo que hice para que fuera más rápida, cree un índice por el campo que estaba buscando. Y ahora sigue rápida la consulta.

Pero quisiera saber que es lo que hace ese índice que pone a volar la consulta?

Gracias...
  #4 (permalink)  
Antiguo 22/11/2011, 20:15
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: Optimizacion de Consulta SQL

Cita:
Pero quisiera saber que es lo que hace ese índice que pone a volar la consulta?
..Y, bueno, eso es lo que es: un índice.
¿Cómo haces para encontrar rápido donde está un tema en un libro? Vas al índice principal (PK).
¿Y si lo que quieres es donde ver un tema que peude aparecer en varias partes? En el índice alfabético (INDEX)...

Creo que medio se cae de evidente. ¿No te parece?

Ahora bien, si lo que quieres saber es como funcionan los índices en MySQL, entonces mi consejo es que leas el manual de referencia (7.4.5. Cómo utiliza MySQL los índices), y además algunos apuntes sobre técnicas de indexación y optimización de consultas. En Google podrás encontrar bastante, pero no esperes que sea accesible...
Es un tema árido, muy técnico, y que requiere una buena base de conocimientos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 23/11/2011, 17:57
 
Fecha de Ingreso: noviembre-2008
Mensajes: 89
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Optimizacion de Consulta SQL

Aqui hay una muy buena explicación de ello... http://comulinux.blogspot.com/2010/0...-tabla-de.html

Gracias.... todo solucionado!

Etiquetas: registros, select, sql, 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:38.