Velocidad mas velocidad

08/01/2005 - 01:17 por Daniel Durand | Informe spam
buenas tardes

Pregunta puntual...

Cual método es mas rápido para obtener datos de un origen remotos.

Especificamente para obtener desde SQL Server

Por ejemplo si tengo una tabla de 2500000 registros

Vistas Remotas
CursorAdapters
paso a travez de SQL
etc


Gracias

Preguntas similare

Leer las respuestas

#1 Esparta Palma
08/01/2005 - 04:28 | Informe spam
Las diferencias suelen ser muy pocas, a veces casi impercertibles, a
continuación un pequeñisimo estudio sobre Vistas Remotas y CursorAdapters:

¿Utilizar Vistas Remotas o SQL Pass Through (SPT) para
Cliente-Servidor?
http://www.panoramabox.com/GoPub.as...bj"32

Lo que si es un hecho es que entre tecnologias que usen ODBC (Vistas
Remotas, SPT o CursorAdapters) casi no se notará, quizás deberías hacer
tus pruebas entre usar ODBC u OLEDB, ahí si que pudieras ver algunos
cambios, obviamente todo dependerá de tu caso específico.

Cualquiera que sea el camino que tomes en vez de ver que utilizar del
lado cliente, se debe tomar más consideración en cómo se optimice del
lado servidor, ya que independientemente de la tecnología usada, siempre
habrá un cuello de botella en el transporte de datos, por ejemplo: puede
que tu consulta se resuelva en milisegundos, pero llevarte de un lado a
otro miles (o millones) de registros no será para nada gratificante
(primer error que se comente: mandar a traer tooooodos los campos y
registros de cierta tabla).

En resumen, trata de sacar el máximo en tu servidor (quizás Stored
Procedures, triggers, etc), optimiza tus consultas, siempre procura que
tu conjuntos de datos sean lo más especifico posibles (y pequeños),
fijate en qué y cuáles indices usar (hay herramientas que te permiten
hacerlo), en fin, mucha tarea por delante. Quizás es un error común el
pensar que el sólo poner un Servidor de Datos (como MS-SQLServer, MySQl,
Oracle, Postgresql) resolverá mágicamente los "problemas" de
administración (y velocidad) de manipulación de Datos.


Espero te sirva.


Espartaco Palma
SysOp www.PortalFox.com
México

Daniel Durand wrote:
buenas tardes

Pregunta puntual...

Cual método es mas rápido para obtener datos de un origen remotos.

Especificamente para obtener desde SQL Server

Por ejemplo si tengo una tabla de 2500000 registros

Vistas Remotas
CursorAdapters
paso a travez de SQL
etc


Gracias


Respuesta Responder a este mensaje
#2 Ricardo Passians
11/01/2005 - 04:40 | Informe spam
. Quizás es un error común el
pensar que el sólo poner un Servidor de Datos (como MS-SQLServer, MySQl,
Oracle, Postgresql) resolverá mágicamente los "problemas" de
administración (y velocidad) de manipulación de Datos.




No Quizás. Es realmente un error común. Cuando se empieza a trabajar con
sql server por ejemplo uno tiene que "olvidar adrede muchas cosas" para
poder aprender desde cero como funciona el esquema C/S. Las
consideraciones para hacer eficiente el performance de una aplicación C/S
son material de estudio profundo que no se aprende de un día para otro.
Respuesta Responder a este mensaje
#3 Nelson Rodriguez
11/01/2005 - 11:52 | Informe spam
No estarás pensando traerte todos esos registros hasta la Pc cliente no?
Cuántos menos registros te traigas hasta el cliente , mejor será la
velocidad. No olvidarse que el tema se multiplica por la cantidad de
usuarios clientes que tiene la aplicación. Lo mismo que el tamaño del
"registro" que te traes. Hay que estar pensando continuamente, qué datos
necesito en el cliente, campos, etc.. y recuperar solo eso.
Mi vida ha cambiado desde que me pasé a Client/server, para mejorar, claro.

Saludos

Nelson Rodriguez
Salto - Uruguay


"Daniel Durand" escribió en el mensaje
news:
buenas tardes

Pregunta puntual...

Cual método es mas rápido para obtener datos de un origen remotos.

Especificamente para obtener desde SQL Server

Por ejemplo si tengo una tabla de 2500000 registros

Vistas Remotas
CursorAdapters
paso a travez de SQL
etc


Gracias


Respuesta Responder a este mensaje
#4 Daniel Durand
12/01/2005 - 15:24 | Informe spam
Gracias a todos por contestar, es un tema muy complejo y requiere mucho
aprendizaje como dice Ricardo

Sin embargo les cuento un poco mi experiencia, he descubierto que me
problema principal pasa por que uso XML como medio de transporte de datos
entre capas y que los mismos tienen que transformarse en cursores y
viceversa, creo que hay etsa el 90 % del tiempo , o sea no es que este
tratando de bajar algunas decimas a una consulta era mucho mas que eso.

Puse este ejemplo de clientes por que alli es donde se notara mas el
problema y puedo hacer las comparaciones de rendimiento.

Una consulta completa desde el analizador de consulta de SQL sobre esta
tabla de clientes con casi 100 campo tardó aprox. 28 seg.
Bien con XMLAdapters + XML + cursores tardaba.. ufff no se, mas de 5 minutos

Luego comprobe que enlazando directamente un cursor adapter con el origen
de datos y mostrarlo en una cuadrícula, tardo nada mas que 30 segundos,
fantastico !!!

Encontre la solucion, lástima que mi app ya no sera C/S

ya que no necesitaré las DLL's que tenia para manejo de las reglas de
negocio y para la manipulacion de datos.



Saludos



"Daniel Durand" wrote in message
news:
buenas tardes

Pregunta puntual...

Cual método es mas rápido para obtener datos de un origen remotos.

Especificamente para obtener desde SQL Server

Por ejemplo si tengo una tabla de 2500000 registros

Vistas Remotas
CursorAdapters
paso a travez de SQL
etc


Gracias

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida