Problema con RecordSet y SQL Server

30/01/2006 - 13:26 por Carlos J. Bolivar A. | Informe spam
Buenas,

Tengo una aplicacion creada en visual basic 6.0, con base de datos en SQL
Server, y tengo un problema el cual es, que cuando tengo una tabla con 10
registro o no pasa de 100 el recordeset lo abre de forma rapida
(Recordset.Open "tabla",..") pero cuando tengo una cantidad mayor a 1000
registros se tarda demasiado en abrir la tabla. Como puedo optimizar esto,
es decir que se tarde poco en abrir etc...

NOTA: Tambien uso un pograma para generar las clases llamado OBJGen, pero es
peor aun, es decir se tarda mas todavia...

Gracias!!!!

Preguntas similare

Leer las respuestas

#6 Juan Carlos
30/01/2006 - 20:36 | Informe spam
Me respondes lo anterior y no lo ultimo.

Saludos Maxi.

"Maxi" escribió en el mensaje
news:
Hola juan, a ver, es cierto que los Sp'¿s ayudan y mucho lo que queria
decirte q no es una condicion que se usen si o si SP's para las
aplicaciones, hay miles de aplicaciones q no los usan y funcionan sobre
sql, tampoco creo q sea para decir q es un mal diseño, hay q ver bien las
cosas, yo amo los SP's y los uso siempre pero no quiere decir q aquellos q
no los usan hacen malos diseños ni mucho menos


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Juan Carlos" escribió en el mensaje
news:
Hola Maxi,

Bueno, si dices eso, entonces no tendras planes de ejecucion para las
instrucciones que le pases al sql server o me equivoco sino corregime.

Saludos

"Maxi" escribió en el mensaje
news:
Trabajas con SQL Server y no utilizas procedimientos almacenados,
entonces no creo que tu aplicativo este bien diseñado, ya que deberias
de trabajar con procedimientos almacenados (pa).



Hola, soy un defensor de los SP's pero no coincido como decis las cosas,
no es necesario tener procecimientos almacenados para trabajar con
SQLServer, son solo recomendados pero no necesarios, ni tampoco se puede
hablar de un mal diseño si estos no estan.


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Juan Carlos" escribió en el mensaje
news:
Trabajas con SQL Server y no utilizas procedimientos almacenados,
entonces no creo que tu aplicativo este bien diseñado, ya que deberias
de trabajar con procedimientos almacenados (pa).

Por lo que comentas, es como si hicieras un select * from tabla;, lo
cual es muy pesado, por eso se utilizan pa con la finalidad de que
indiques que columnas quieres y restringes tus registros con la
cluasula where <condiciones>.

Saludos
"Carlos J. Bolivar A." escribió en el mensaje
news:
Buenas,

Tengo una aplicacion creada en visual basic 6.0, con base de datos en
SQL Server, y tengo un problema el cual es, que cuando tengo una tabla
con 10 registro o no pasa de 100 el recordeset lo abre de forma rapida
(Recordset.Open "tabla",..") pero cuando tengo una cantidad mayor
a 1000 registros se tarda demasiado en abrir la tabla. Como puedo
optimizar esto, es decir que se tarde poco en abrir etc...

NOTA: Tambien uso un pograma para generar las clases llamado OBJGen,
pero es peor aun, es decir se tarda mas todavia...

Gracias!!!!

















Respuesta Responder a este mensaje
#7 Maxi
30/01/2006 - 21:06 | Informe spam
Hola, ok, no es tan asi la cosa, todo depende, porque el plan podria quedar
en cache igual


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Juan Carlos" escribió en el mensaje
news:
Me respondes lo anterior y no lo ultimo.

Saludos Maxi.

"Maxi" escribió en el mensaje
news:
Hola juan, a ver, es cierto que los Sp'¿s ayudan y mucho lo que queria
decirte q no es una condicion que se usen si o si SP's para las
aplicaciones, hay miles de aplicaciones q no los usan y funcionan sobre
sql, tampoco creo q sea para decir q es un mal diseño, hay q ver bien las
cosas, yo amo los SP's y los uso siempre pero no quiere decir q aquellos
q no los usan hacen malos diseños ni mucho menos


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Juan Carlos" escribió en el mensaje
news:
Hola Maxi,

Bueno, si dices eso, entonces no tendras planes de ejecucion para las
instrucciones que le pases al sql server o me equivoco sino corregime.

Saludos

"Maxi" escribió en el mensaje
news:
Trabajas con SQL Server y no utilizas procedimientos almacenados,
entonces no creo que tu aplicativo este bien diseñado, ya que deberias
de trabajar con procedimientos almacenados (pa).



Hola, soy un defensor de los SP's pero no coincido como decis las
cosas, no es necesario tener procecimientos almacenados para trabajar
con SQLServer, son solo recomendados pero no necesarios, ni tampoco se
puede hablar de un mal diseño si estos no estan.


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Juan Carlos" escribió en el mensaje
news:
Trabajas con SQL Server y no utilizas procedimientos almacenados,
entonces no creo que tu aplicativo este bien diseñado, ya que deberias
de trabajar con procedimientos almacenados (pa).

Por lo que comentas, es como si hicieras un select * from tabla;, lo
cual es muy pesado, por eso se utilizan pa con la finalidad de que
indiques que columnas quieres y restringes tus registros con la
cluasula where <condiciones>.

Saludos
"Carlos J. Bolivar A." escribió en el mensaje
news:
Buenas,

Tengo una aplicacion creada en visual basic 6.0, con base de datos en
SQL Server, y tengo un problema el cual es, que cuando tengo una
tabla con 10 registro o no pasa de 100 el recordeset lo abre de forma
rapida (Recordset.Open "tabla",..") pero cuando tengo una
cantidad mayor a 1000 registros se tarda demasiado en abrir la tabla.
Como puedo optimizar esto, es decir que se tarde poco en abrir etc...

NOTA: Tambien uso un pograma para generar las clases llamado OBJGen,
pero es peor aun, es decir se tarda mas todavia...

Gracias!!!!





















Respuesta Responder a este mensaje
#8 Antonio Ortiz
30/01/2006 - 21:06 | Informe spam
El plan de ejecucion, lo crea SQL Server siempre que va a ejecutar una
consulta/sentencia SQL, asi pues, no importa si es dentro de un SP o no.

Por cierto, el argumento mas expuesto es que esto te ahorra tiempo de
ejecucion, lo cual es incorrecto pues la ejecucion es la misma, solo te
'ahorras' el tiempo de optimizacion/plan de ejecucion de la(s) sentencia(s),
lo cual es imperceptible a menos que ejecutas unas miles de veces el mismo
SP.


saludos,


Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.visualcaja.com
www.progvisual.com


"Juan Carlos" escribió en el mensaje
news:
Hola Maxi,

Bueno, si dices eso, entonces no tendras planes de ejecucion para las
instrucciones que le pases al sql server o me equivoco sino corregime.

Saludos

"Maxi" escribió en el mensaje
news:
Trabajas con SQL Server y no utilizas procedimientos almacenados,
entonces no creo que tu aplicativo este bien diseñado, ya que deberias
de trabajar con procedimientos almacenados (pa).



Hola, soy un defensor de los SP's pero no coincido como decis las cosas,
no es necesario tener procecimientos almacenados para trabajar con
SQLServer, son solo recomendados pero no necesarios, ni tampoco se puede
hablar de un mal diseño si estos no estan.


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Juan Carlos" escribió en el mensaje
news:
Trabajas con SQL Server y no utilizas procedimientos almacenados,
entonces no creo que tu aplicativo este bien diseñado, ya que deberias
de trabajar con procedimientos almacenados (pa).

Por lo que comentas, es como si hicieras un select * from tabla;, lo
cual es muy pesado, por eso se utilizan pa con la finalidad de que
indiques que columnas quieres y restringes tus registros con la cluasula
where <condiciones>.

Saludos
"Carlos J. Bolivar A." escribió en el mensaje
news:
Buenas,

Tengo una aplicacion creada en visual basic 6.0, con base de datos en
SQL Server, y tengo un problema el cual es, que cuando tengo una tabla
con 10 registro o no pasa de 100 el recordeset lo abre de forma rapida
(Recordset.Open "tabla",..") pero cuando tengo una cantidad mayor a
1000 registros se tarda demasiado en abrir la tabla. Como puedo
optimizar esto, es decir que se tarde poco en abrir etc...

NOTA: Tambien uso un pograma para generar las clases llamado OBJGen,
pero es peor aun, es decir se tarda mas todavia...

Gracias!!!!













Respuesta Responder a este mensaje
#9 Maxi
30/01/2006 - 21:34 | Informe spam
Hola antonio, no es su mejor ventaja la performance sino la seguridad y el
mantenimiento del codigo, esos son las mejores ventajas q le podes sacar a
los Sp's


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Antonio Ortiz" escribió en el mensaje
news:
El plan de ejecucion, lo crea SQL Server siempre que va a ejecutar una
consulta/sentencia SQL, asi pues, no importa si es dentro de un SP o no.

Por cierto, el argumento mas expuesto es que esto te ahorra tiempo de
ejecucion, lo cual es incorrecto pues la ejecucion es la misma, solo te
'ahorras' el tiempo de optimizacion/plan de ejecucion de la(s)
sentencia(s), lo cual es imperceptible a menos que ejecutas unas miles de
veces el mismo SP.


saludos,


Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.visualcaja.com
www.progvisual.com


"Juan Carlos" escribió en el mensaje
news:
Hola Maxi,

Bueno, si dices eso, entonces no tendras planes de ejecucion para las
instrucciones que le pases al sql server o me equivoco sino corregime.

Saludos

"Maxi" escribió en el mensaje
news:
Trabajas con SQL Server y no utilizas procedimientos almacenados,
entonces no creo que tu aplicativo este bien diseñado, ya que deberias
de trabajar con procedimientos almacenados (pa).



Hola, soy un defensor de los SP's pero no coincido como decis las cosas,
no es necesario tener procecimientos almacenados para trabajar con
SQLServer, son solo recomendados pero no necesarios, ni tampoco se puede
hablar de un mal diseño si estos no estan.


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Juan Carlos" escribió en el mensaje
news:
Trabajas con SQL Server y no utilizas procedimientos almacenados,
entonces no creo que tu aplicativo este bien diseñado, ya que deberias
de trabajar con procedimientos almacenados (pa).

Por lo que comentas, es como si hicieras un select * from tabla;, lo
cual es muy pesado, por eso se utilizan pa con la finalidad de que
indiques que columnas quieres y restringes tus registros con la
cluasula where <condiciones>.

Saludos
"Carlos J. Bolivar A." escribió en el mensaje
news:
Buenas,

Tengo una aplicacion creada en visual basic 6.0, con base de datos en
SQL Server, y tengo un problema el cual es, que cuando tengo una tabla
con 10 registro o no pasa de 100 el recordeset lo abre de forma rapida
(Recordset.Open "tabla",..") pero cuando tengo una cantidad mayor
a 1000 registros se tarda demasiado en abrir la tabla. Como puedo
optimizar esto, es decir que se tarde poco en abrir etc...

NOTA: Tambien uso un pograma para generar las clases llamado OBJGen,
pero es peor aun, es decir se tarda mas todavia...

Gracias!!!!

















Respuesta Responder a este mensaje
#10 Adrian
31/01/2006 - 14:40 | Informe spam
Juan Carlos, trabaje por años con un sistema desarrollado en VFP y Sql
(ODBC) sin sp y muchas veces las consultas no estaban optomizadas
(Select * de varias tablas) y te puedo asegurar que consultas que
retornaban mas de 1000 registros tardaban muy poco.
Saludos
Adrian
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida