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

tiempos de respuesta

Estas en el tema de tiempos de respuesta en el foro de Bases de Datos General en Foros del Web. Hola Genios... Tengo la siguiente duda... En una consulta in-string en una query, me sucede lo siguiente... les paso la sentencia... $sql = "SELECT * ...
  #1 (permalink)  
Antiguo 05/12/2003, 08:56
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 20 años, 9 meses
Puntos: 0
tiempos de respuesta



Hola Genios...

Tengo la siguiente duda...

En una consulta in-string en una query, me sucede lo siguiente...

les paso la sentencia...

$sql = "SELECT * FROM clientes WHERE nombre LIKE '%$nombre%' ";

1- cuando el resultado es de aprox. de 1 a 10 registros.:
la respuesta es casi instantanea.

2- ahora cuando es de varios registros la respuesta tarda una enormidad.

Ahora me pregunto porque? Si mal no entiendo la busqueda no depende de indices, o sea que debería en los dos casos buscar en toda la tabla de aprox. 80.000 registros.

La diferencia de tiempos es debido a la publicación o a la búsqueda en si mismo?

Disculpen si es una pregunta de aprendiz, pero eso es lo que soy...

Desde ya mil gracias, a quien pueda dezasnar mi inquietud.
  #2 (permalink)  
Antiguo 05/12/2003, 16:24
 
Fecha de Ingreso: septiembre-2003
Mensajes: 33
Antigüedad: 20 años, 7 meses
Puntos: 0
Puedes agregarle un indice a tu tabla


alter table tu_tabla add index nombre_del_indice(campos,...)


tambien de esta manera que en algunos casos funciona bien

alter table tu_tabla add FULLTEXT(campos,...)

los campos debieron definirse antes como NOT NULL. caso contrario no funciona.

--
navisoft
http://www.latindevelopers.com/

Última edición por navisoft; 24/08/2004 a las 12:11
  #3 (permalink)  
Antiguo 06/12/2003, 12:39
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 20 años, 9 meses
Puntos: 0
Gracias por tu respuesta Navisoft

ahora...... no es que la busqueda in-string, no depende de índices?

osea que la creación de un indice no alteraria mis tiempos de respuesta? o si?

nuevamente gracias...
  #4 (permalink)  
Antiguo 08/12/2003, 13:05
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 5 meses
Puntos: 0
Al hacer un Nombre LIKE '%algo%' la base de datos se ve forzada a hacer un TableScan y, efectivamente, un índice no ayudaría en nada.
La diferencia en los tiempos de respuesta se debe, seguramente a la consulta. Por ejémplo: LIKE '%a%' es muchísimo más lento que LIKE '%armando%'
Si pudieras sacar uno de los comodines, ahí si se haría uso del índice y la consulta se ejecutaría mucho más rápido.

éxitos
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:22.