15/10/2013, 06:49
|
| 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: BBDD hace que buscador prestashop vaya muy lento Un buscador tal que realice búsquedas interactivas a medida que se vaya tecleando la/s palabra7s buscadas, puede ser lento en función de al menos dos problemas (y no sólo por estos): Por un lado por la latencia de red, ya que cada tecla realiza peticiones a la base, que son enrutadas vía web. Eso por supuesto que se ve afectado tato por la misma web, como por las capacidades de los servidores respectivos de atender las peticiones entrantes.
Por otro lado, y estrictamente hablando de Bases de DAtos, una busqueda por similitud tiene baja performance de acuerdo a varios elementos: longitud de la cadena buscada, sintaxis de la consulta, la estructura de los datos en la tabla, los indices que existan... hay varios considerandos.
En ese último sentido, es normal que si mandas a realizar las búsquedas desde el primer caracter, la performance sea baja, puesto que con un sólo carácter las coincidencias pueden ser excesivas y MySQL lee toda la tabla. Por eso no es conveniente disparar búsquedas con menos de cinco caracteres de longitud (es el piso de los indices FULLTEXT, por ejemplo). Y tampoco es conveniente realizar búsquedas por caracteres dentro de una palabra, sino palabras completas, o inicio de palabras. Un "LIKE '%palabra%'", por ejemplo, genera un full table scan que es calamitoso, además de hacer que se descarten todos los índices...
Nota: Los aspectos referidos a restringir en el formulario la cantidad de caracteres, es OFF TOPIC en este foro. Deberás consultarlo en el foro del lenguaje respectivo. En este foro el tema es únicamente SQL y Bases de Datos. No aplicaciones que usan Bases de Datos.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |