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

Problemas con ASP y Función dentro de Store Procedure

Estas en el tema de Problemas con ASP y Función dentro de Store Procedure en el foro de ASP Clásico en Foros del Web. Noté que al ejecutar un SP en en analizador de consultas del SQL Server 2000 la consulta tarda menos de 1 seg. El problema está ...
  #1 (permalink)  
Antiguo 24/06/2008, 08:22
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 16 años, 10 meses
Puntos: 0
Problemas con ASP y Función dentro de Store Procedure

Noté que al ejecutar un SP en en analizador de consultas del SQL Server 2000 la consulta tarda menos de 1 seg. El problema está a la hora de ejecutarla en una web ASP, donde tarda 9 seg.

Me dijeron algunos compañeros que esto les ha pasado, y que con ASP.NET no sucede, pero quería saber si existe la posibilidad de solucionarlo en ASP.

Gracias.
  #2 (permalink)  
Antiguo 24/06/2008, 10:40
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Respuesta: Problemas con ASP y Función dentro de Store Procedure

bienvenido al foro....

bueno... el tema de rapidez de ejecucion logicamente es diferente, ya que al entrar al analizador de consultas en SQL, tienes todos los privilegios... por que tienes todo a la mano, por decirlo asi; ahora en la pagina (ya es otra historia), debes especificar perfectamente bien todo, ademas de verificar que no tengas otras consultas al mismo tiempo del mismo funcionamiento de la pagina, que todos tus recordset esten cerrados, etc.

pero en fin... te marca error,.... tiempo de espera agotado? cuanto es el tiempo que consume? son muchos datos a verificar??, la base de datos es grande??....etc

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 24/06/2008, 10:47
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: Problemas con ASP y Función dentro de Store Procedure

Tendríamos que ver tu código, es posible que sea verdad lo que te dijeron, pues ADO.NET supone una mejora en performance vs su predecesor ADO, pues en realidad no sería tanto problema del SQL como de ADO, esto asumiendo que la aplicación y la base de datos se encuentren en el mismo segmento de red.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 24/06/2008, 11:58
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Problemas con ASP y Función dentro de Store Procedure

Gracias por responder muchachos...

el tema no es tan complejo... el fragmento que utilizo en la función lo pongo en el store como código y el problema no se presenta....

ejemplo:


Código:
CREATE PROC PRUEBA

AS

SELECT 
             *
FROM 
             FN_PRUEBA('PRUEBA')

GO



CREATE FUNCTION FN_PRUEBA
(@prueba AS VARCHAR(30))
RETURNS TABLE 

AS

RETURN( SELECT
                             *
               FROM
                           TABLA_DE_PRUEBA
               WHERE
                          campo_de_prueba LIKE '%'+@prueba+'%'
            )
Eso desde el analizador tarda menos de 1 segundo y desde ASP tarda 5 o 6 segundos.


En cambio.........

Código:
CREATE PROC PRUEBA

AS

SELECT 
             *
FROM 
            TABLA_DE_PRUEBA
WHERE
            campo_de_prueba LIKE '%PRUEBA%'
Esto tarda menos de 1 segundo desde ambos lugares....


Se entiende? osea... si esto pasa en ASP y NO PASA en ASP.NET es de suponer que hay algo en utilizar funciones anidadas a stores en ASP, lo cual genera la recontrareconsulta de algo.......



y si, la base de datos es grande, las consultas son complejas y las vengo depurando bastante bien, el tema es que quería simplificar un poco con funciones para reutilizar código...


... si se pudiera solucionar....
  #5 (permalink)  
Antiguo 24/06/2008, 12:23
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Respuesta: Problemas con ASP y Función dentro de Store Procedure

En efecto el uso de funciones en SQL ralentizará tu código, pero tiene que ver más con el motor de SQL que con ADO, pero como mencionamos antes ADO.NET es más eficiente por lo cuál la entrega del set de registros será mejor, sobre todo si utilizas alguno de los objetos especializados para entregar de manera ligera estos datos.

O sea, el problema tiene que ver en ambos casos tanto con tu motor de SQL y el uso de funciones, como con el objeto que se encarga del manejo de los datos en tu plataforma en este caso ADO.

Yo te recomendaría que hicieras una prueba rápida con esta misma consulta en .NET y veas cuál es la diferencia -el performance debe ser mejor- pero también está la recomendación de no usar funciones sobre result sets grandes, pues como mencionamos ralentizan la entrega de los datos. En este caso ¿Es posible usar vistas, o generas de manera dinámica tus subqueries?

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 24/06/2008, 12:54
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Problemas con ASP y Función dentro de Store Procedure

A ver si les ayuda esto:


cuando ejecuto el store CON LA FUNCION en ASP corre un proceso en mi SQL llamado SP_UNPREPARE como 5 veces... que si le saco la funcion y coloco el código dentro del store no lo hace..........................
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 07:40.