Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/03/2007, 16:06
jyefi
 
Fecha de Ingreso: marzo-2006
Mensajes: 15
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: error de ODBC!!!

Mary:

El rendimiento de una consulta entre distintos servidores, aunque estén enganchados con Linked Server es horrible. Incluso el rendimiento disminuye considerablemente si se trata de distintas bases de datos.

Por lo mismo te recomiendo como primera medida de optimización generar un DTS para trasladar los datos desde los otros servidores mediante un DTS. o más fácil aún mediante tablas temporales. Considera traspasar los datos realmente útiles de acuerdo a un filtro (where fecha=... código = ...), que sea efectivamente el filtro de la consulta que estás realizando.

Una vez que traspases los datos a tablas temporales, se pueden establecer las relaciones de manera de optimizar aún más.

Con esto se debiera disminuir radicalmente el tiempo de ejecución de la consulta.

Ahora bien, una consulta en general no debiera sobrepasar los 30 segs. Si ya se han tomado todas las medidas del caso (tablas temporales, índices, relaciones, etc.) El driver de odbc, el oledb y .net inclusive utilizan un objeto llamado Commmand. Este objeto te permite establecer el tiempo límite de ejecución de una consulta (en segundos) y por defecto toma el valor 30.

Cuando se establece con valor 0 no considera el tiempo de timeout:
...
objCommand.Timeout=0
...


Saludos!