Hola a todos.
Ahora que la tormenta ha pasado...
tengo una duda de rendimiento, no se si me pudieran ayudar.
Estoy sacando desde Access (usandolo como front end) datos que estan en un
servidor MS SQl s. en la empresa donde trabajo. Estaba viendo que tengo de
2 sopas basicas para obtener mis resultados: un procedimiento que tome
parametros y haga la consulta con base en ellos, o una funcion que regrese
una tabla.
Vi que desde Access podia directamente hacer una subconsulta con los datos
que me regresa una funcion que regresa un objeto tabla, haciendo algo como:
SELECT * FROM MiUDF(Par1, Par2) WHERE Campo1='algo'
Empero, no puedo hacer tal cosa directamente si obtengo los datos mediante
un procedimiento almacenado... tengo que hacer primero una consulta de
paso a traves con:
exec MiSP( Par1, Par2)
y guardarla como, digamos, "MiConsulta", y despues hacer otra consulta
donde si puedo hacer:
SELECT * FROM MiConsulta WHERE Campo1='algo'
Y veo que hay una 3a opcion, usar un SP con un parametro "de salida"... es
solo que no me acaba de convencer esa opcion... siento que a largo plazo
un programador que llegue despues podria no parecerle tan obvio que es de
salida y querer usarlo como entrada, y ademas no me acaban de gustar... me
recuerdan demasiado los parametros "por referencia" de c++ y basic, que
tantos problemas me han dado...
Tentado me siento a manejar sencillamente todo mediante UDF's que regresen
tablas, pero despues lo pense mejor respecto al rendimiento...
no se si alguien sepa o me pudiera decir las ventajas o desventajas de
cada enfoque: cual es mas rapida, cual usa menos recursos de la maquina,
cual es mas conveniente a largo plazo.
Estaba leyendo que muchas veces SQL Server tiende a manejar las UDF's cual
si procs. almacenados con cursores se tratase, ¿es cierto? Hasta ahora yo
no he notado ninguna penalizacion en velocidad, pero no se a largo plazo...
Bueno, era mi duda, no se si alguien pueda (quiera) ayudarme.
Gracias por todo.
Battle Troll
La mayoria de las preguntas que se nos pudieran ocurrir ya fueron
preguntadas y contestadas anteriormente.
Puedes buscar en los archivos de Usenet a través de Google:
http://groups-beta.google.com/group....es.access
Leer las respuestas