Foros del Web » Programando para Internet » ASP Clásico »

Optimizar Query

Estas en el tema de Optimizar Query en el foro de ASP Clásico en Foros del Web. Buenas, ayer puse un mensaje en el foro sobre una query que me daba un error, al final el error era de un puñetero ")", ...
  #1 (permalink)  
Antiguo 22/06/2005, 04:34
 
Fecha de Ingreso: abril-2005
Ubicación: Santiago Compostela
Mensajes: 213
Antigüedad: 20 años
Puntos: 0
Optimizar Query

Buenas, ayer puse un mensaje en el foro sobre una query que me daba un error, al final el error era de un puñetero ")", despues el problema fue otro, la query es bastante extensa, muy extensa y tarda cerca de 2 minutos en mostrarme los datos, o no me sale nada y me da un error como este:

Código:
Tipo de error:
Páginas Active Server, ASP 0113 (0x80004005)
Se excedió el tiempo máximo de espera para una secuencia de comandos. Para cambiar este límite especifique un nuevo valor para la propiedad Server.ScriptTimeOut o cambie el valor en las herramientas de administración de IIS.
Saben o me pueden recomendar como hacer para que esa query no tarde tanto o como puedo hacer para optimizarla mejor.

En la consulta utilizo lo justo, los campos necesarios ni uno mas ni uno menos, pero la base de datos tiene muchos datos.

Se puede hacer en asp , que te valla mostrando los datos una vez que los calcule y que no te los muestre todos de un tiron al final.

un saludo.
  #2 (permalink)  
Antiguo 22/06/2005, 09:34
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 1 mes
Puntos: 2
Hola

No vi el Query, o no recuerdo de cual hablas, sin embargo puedes empezar por ver que campos ocupas y crear un index adecuado sobre ellos, eso agiliza las consultas, también si estás relacionando tablas usa JOIN y no subconsultas.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #3 (permalink)  
Antiguo 22/06/2005, 09:37
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 22 años, 5 meses
Puntos: 0
Normalmente el timeout está en 30-60 segundos, así que si tu query tarda tanto, te hace falta muchos retoques para poder hacerla en condiciones.

Peganosla por aquí para que te podamos echar un cable :P
__________________
Tu portal de manga y anime.
  #4 (permalink)  
Antiguo 22/06/2005, 12:47
 
Fecha de Ingreso: abril-2005
Ubicación: Santiago Compostela
Mensajes: 213
Antigüedad: 20 años
Puntos: 0
La query que tenia esta aqui:

[URL=http://http://www.forosdelweb.com/showthread.php?t=309678[/URL]

Una pregunta como va el tema de los index en un query, y otra pregunta en asp se puede llamar a una consulta ya hecha en access que a su vez esta compuesta por dos consultas, me explico yo en access tengo una consulta que esta formada por dos consulta, lo que hace es mirar si los datos de una consulta existen en la otra consulta y muestra los resultados, como demonios se hace eso.

Saludos
  #5 (permalink)  
Antiguo 22/06/2005, 14:22
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 1 mes
Puntos: 2
Hola

Los index los delaras cuando estás creando la tabla, o bien cuando ya la tienes creada, le asignas los index correctos a cada columna, o por conjunto de columnas, y justo eso que haces de las subconsultas hace que la consulta total tome mucho tiempo, por lo tanto investiga sober JOIN, algo como:

select t1.t1campo1, t2.t2campo2
from tabla1 t1
join tabla2 t2 on t1.id = t2.id
where XXXX

bueno, eso es un join tradicional, investiga para ver como adecuarlo a lo que necesitas.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
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 13:02.