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

desarrollar buscador de grandes cantidad de datos

Estas en el tema de desarrollar buscador de grandes cantidad de datos en el foro de Mysql en Foros del Web. Con 10000 datos mi búsqueda se ha vuelto mas lento que el cangrejo. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT * FROM prov_tab WHERE provincia ...
  #1 (permalink)  
Antiguo 23/09/2016, 13:08
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años, 6 meses
Puntos: 3
desarrollar buscador de grandes cantidad de datos

Con 10000 datos mi búsqueda se ha vuelto mas lento que el cangrejo.

Código MySQL:
Ver original
  1. SELECT * FROM prov_tab WHERE provincia LIKE '%" .$busqueda. "%' ORDER BY provincia

Y como la busqueda de facebook, google y youtube funciona rápido.
__________________
Muy Feliz

Última edición por gnzsoloyo; 24/09/2016 a las 16:34
  #2 (permalink)  
Antiguo 23/09/2016, 13:20
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: desarrollar buscador de grandes cantidad de datos

Primero que todo, no te compares con google, facebook, o youtube.

Te recmomiendo quitar el * y solo seleccionar las columnas que deseas, eso debería reducir mucho el proceso de la busqueda.

Talvez agregar algún filtro.

Saludos

  #3 (permalink)  
Antiguo 23/09/2016, 13:35
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: desarrollar buscador de grandes cantidad de datos

Y utiliza un limit no es lo mismo retornar 10 resultados que 1000. Además una vez que alcanza el límite establecido dejará de seguir buscando resultados en la tabla, de lo contrario seguirá escaneando la tabla completa por si acaso hay más resultados.
__________________
Unset($vida['malRollo']);
  #4 (permalink)  
Antiguo 24/09/2016, 03:43
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: desarrollar buscador de grandes cantidad de datos

Imagino que tendrás bien definidos los índices y las claves... eso también ayuda.
  #5 (permalink)  
Antiguo 24/09/2016, 13:31
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: desarrollar buscador de grandes cantidad de datos

La optimización de consultas no se hace por medio de PHP, muevo tu tema a MySQL, donde seguro te sugerirán una buena opción.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 24/09/2016, 16:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: desarrollar buscador de grandes cantidad de datos

Cita:
Iniciado por soy_nicanor Ver Mensaje
Con 10000 datos mi búsqueda se ha vuelto mas lento que el cangrejo.

Código MySQL:
Ver original
  1. SELECT * FROM prov_tab WHERE provincia LIKE '%" .$busqueda. "%' ORDER BY provincia

Y como la busqueda de facebook, google y youtube funciona rápido.
Toda búsqueda de datos donde uses LIKE y además pongas comodines en ambos lados del texto a buscar, será SIEMPRE ineficiente, porque obliga a la base a leer TODA la tabla.
Es imposible optimizar una búsqueda con LIKE en tales condiciones.
Si lo que quieres es buscar palabras completas, entonces deberás considerar el uso de expresiones regulares e indices FULLTEXT.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: buscador, cantidad, desarrollar, grandes, php, select, sql
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 06:26.