FoxPro/Visual FoxPro - SELECT * FROM... trae todos los registros a mi pc?

 
Vista:
sin imagen de perfil

SELECT * FROM... trae todos los registros a mi pc?

Publicado por guillermo arias (294 intervenciones) el 27/01/2007 07:20:32
Hola, estoy usando SQL PASS THROUGH para comunicarme con una BD Postgre.
He resuelto por utilizar cursores actualizables que son al final igual que las vistas remotas actualizables.

Primero tengo que hacer algo como:
SQLEXEC(lc_miconexion,"SELECT * FROM MITABLA","micursor)
Luego uso una función creada por mi para hacer el cursor actualizable.

La pregunta es: ¿Esto trae TODOS los registros de la tabla que está en la BD hacia mi PC?

Agradeceré cualquier comentario
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SELECT * FROM... trae todos los registros a mi

Publicado por Roman Suazo (2723 intervenciones) el 27/01/2007 16:39:30
Si (los pone en un cursor) y no es recomendable.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:SELECT * FROM... trae todos los registros a mi

Publicado por Ernesto Hernandez (4623 intervenciones) el 27/01/2007 18:49:42
ASi es compañero te traera todos los registros.

Una duda compañero Roman por que no es recomendable???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SELECT * FROM... trae todos los registros a mi

Publicado por Roman Suazo (2723 intervenciones) el 27/01/2007 23:39:11
Por varias razones:

-El trafico en la red se increentaria. Haciendo la aplicacion y red mas lenta.
-Se consumen mas recursos en la maquina cliente (memoria y demas).
Haciendo, tambien, la aplicacion mas lenta y a la vez otras apps que el usuario
llegara a necesitar.
-La informacion presentada no puede ser digerida facilmente por el usurio. Es
decir, el usuario solo neceista cierta informacion y solo eso deberia estar
disponible para el. Preguntemonos: De que le sirve al usuario tener 100K
registros en su grid? De nada. En ese caso le costaria mas encontrar la
informacion. EL usuario funciona mejor con cantidades pequeñas de data.

Por ahi podrian haber otras razones, pero estas son las importantes.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:SELECT * FROM... trae todos los registros a mi

Publicado por guillermo arias (294 intervenciones) el 28/01/2007 00:37:06
Hola gente. Gracias por responder mi consulta, quisiera que por favor me den más detalles. Explico la situación:

Estoy usando BD Postgre + VFP. Incialmente pensé en utilizar una BD .dbc + vistas remotas , pero mi app no va a poder trabajar de esa manera pues estoy usando "schemas" del postgre que es como pequeñas BD dentro de una misma BD.

Por eso pensé en crear yo mismo mis vistas remotas "manuales" , es decir Cursores actualizables mediante código, funcionan muy bien. Consiste en:

1- Cargo el cursor desde la BD con SQLEXEC(lc_conex,"SELECT * FROM MITABLA","MICURSOR")
2- Una serie de pasos con CURSORSETPROP para que el cursor sea actualizable y envíe data hacia la BD.

Como te darás cuenta mi problema está en el paso 1, ahora he leído que existe :
- Una sentencia SQLSETPROP que con parámetro de conexión 0 puede setear x defecto la forma en que se comunicarán las sentencias SQLEXEC con la BD.
- También puedo usar CURSORSETPROP con parámetro nWorkArea= 0 para establecer x defecto la forma de trabajo de los cursores.

Entonces esto me da hace pensar que podría gobernar la forma de funcionamiento de los cursores que traigo con SQLEXEC desde la BD, y no traer todos los 100,000 registros de una vez.

Agradeceré cualquier comentario.

bye
_____________________________________
Guillermo Arias (51 1) 9843 6047 - 522 2199
Lima - Perú [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar