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

rendimiento en resultados

Estas en el tema de rendimiento en resultados en el foro de SQL Server en Foros del Web. Hola, tengo en mi base de datos cerca de 10800 registros, y cuando necesito comparar la existencia de un dato me resulta algo lento mostarr ...
  #1 (permalink)  
Antiguo 21/12/2007, 13:15
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 10 meses
Puntos: 3
rendimiento en resultados

Hola, tengo en mi base de datos cerca de 10800 registros, y cuando necesito comparar la existencia de un dato me resulta algo lento mostarr los resultados..... lo hago de esta forma:

WHERE NCEDULAS='$cedulas'

Provablemente con una sola comparacion se vea rapido, pero si necesito comparar 3200 registros con la db de esta forma :

while($cedula){

// por eset while pasan los 3200 registros 1 por 1
WHERE NCEDULAS='$cedulas'

}

Pue s ya la cuestion si que resulta lenta, diria que me tardaria cerca de 8 horas y por eso creo que es mas cosa de la comparacion mas no del script.


acaso con una subconsulta los resltados se ven mas rapidos????
hay funciones que me ayuden a mostrar las consultas mas rapido???
acaso sera cuestion de poner un indice????


gracias
  #2 (permalink)  
Antiguo 15/02/2008, 18:56
 
Fecha de Ingreso: enero-2002
Ubicación: Rosario
Mensajes: 8
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: rendimiento en resultados

proba usar Exists

aca tenes info http://msdn2.microsoft.com/en-us/library/ms188336.aspx

Saludos.
  #3 (permalink)  
Antiguo 16/02/2008, 01:39
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 6 meses
Puntos: 6
Re: rendimiento en resultados

por que no pruebas concatenar? es decir....

en el ciclo en vez de llamar al query, simplemente metes en una variable separadas por comas los 3200 registros y luego haces un in

Código:
WHERE NCedulas IN (' $TuVariable ')
algo así...

si el problema es la cantidad, tambien puedes pasar los parámetros por temporales..

saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
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 23:08.