consultas distribuidas

19/05/2004 - 21:38 por fabian | Informe spam
Tengo un servidor SQL Server en el cual tengo vinculado un servidor oracle.
tengo bastantes problemas de rendimiento, ya que cuando las consultas
devuelven muchos datos, le cuesta ejecutar la consulta una eternidad.
no se sí es problema de que tengo algo mal configurado, pero ejecutando una
consulta que devuelve 50000 registros, en oracle le cuesta milisegundos y en
sql server tarda unos 35 segundos. Sé que tiene que ir más lento, pero esto
es una barbaridad.

como proveedor estoy usando el oledb for oracle de microsoft.

otra cosa, si yo ejecuto esta consulta

select * from openquery([servidorOracle],'select * from articulos') where
proveedor='0001' and familia='caja'

qué es lo que hace? Hace una consulta a oracle y trae todos los registros de
la tabla a sql server y aquí filtra o lo hace todo en oracle y solo me
devuelve los resultados?
 

Leer las respuestas

#1 Maxi
20/05/2004 - 00:40 | Informe spam
Hola, primero una cosa!!

Los tiempos en Oracle y en Sql son casi iguales :p.

Ahora que aclare eso te comento.

Ahi tu problema seguramente es de driver.

Tenes el Sp3 en sql?
Tenes el Mdac 2.8 en ese servidor?

Tu pregunta con respecto al query lo que hace es ejecutar en el Oracle y
retornarle ya al Sql la cosa, se usa esa instruccion cuando no queres cargar
a tu servidor.

Suerte


Salu2

Maxi

Desarrollador 3 estrellas .NET
Buenos Aires - Argentina

MSN:

"fabian" escribió en el mensaje
news:
Tengo un servidor SQL Server en el cual tengo vinculado un servidor


oracle.
tengo bastantes problemas de rendimiento, ya que cuando las consultas
devuelven muchos datos, le cuesta ejecutar la consulta una eternidad.
no se sí es problema de que tengo algo mal configurado, pero ejecutando


una
consulta que devuelve 50000 registros, en oracle le cuesta milisegundos y


en
sql server tarda unos 35 segundos. Sé que tiene que ir más lento, pero


esto
es una barbaridad.

como proveedor estoy usando el oledb for oracle de microsoft.

otra cosa, si yo ejecuto esta consulta

select * from openquery([servidorOracle],'select * from articulos') where
proveedor='0001' and familia='caja'

qué es lo que hace? Hace una consulta a oracle y trae todos los registros


de
la tabla a sql server y aquí filtra o lo hace todo en oracle y solo me
devuelve los resultados?


Preguntas similares