Hola Walter, espero que andes bien. Gracias por tu respuesta que como
de costumbre es muy completa. Eso a lo que haces referencia, en cuanto
a que depende del comportamiento de cada usuario, es algo en lo que
también pensé pero no hice referencia para evitar una respuesta
demasiado extensa. Lo que me parece muy bueno es lo del archivo de
logueo para poder optimizar el desempeño del programa de acuerdo al
comportamiento del usuario, es algo que cuando pueda voy a
implementar.
Saludos,
Javier.
On 11 nov, 02:42, "Walter R. Ojeda Valiente" <
w...@hotmail.com> wrote:
> Javier, la respuesta depende de cuantos de esos registros serán consultados normalmente.
>
> Según lo que entendí, lo que tu quieres es que al seleccionar una compra se muestren todos los artículos comprados.
>
> Supongamos que tienes 100 compras ¿el usuario (casi) siempre las revisará a las 100? ¿o generalmente no revisará más de 2 ó 3 compras?
>
> Si revisará a las 100 entonces será más eficiente traerlas a todas de una sola vez en un cursor, indexar ese cursor y filtrarlo.
>
> Si revisará solamente 2 ó 3 compras, entonces será más eficiente descargarlas una por una.
>
> Fíjate que cuando descargas datos desde el Servidor hay dos puntos que debes considerar:
> - el tiempo de la descarga
> - el tráfico en la red
>
> ¿Cuántos usuarios están usando activamente la red? ¿Cuál es el ancho de banda del cuál disponen?
>
> Para estos casos, lo mejor suele ser tener un archivo de logueo, en el cual registras el nombre de la transacción, el tiempo (fechas, horas, minutos) del inicio y el tiempo de finalización, así puedes buscar los "cuellos de botella" y solucionarlos.
>
> Estar constantemente enviando y trayendo datos en la red no es tan eficiente como traerlos a todos de una sola vez, pero no se justifica traer datos que no necesitarás. Por eso es que debes conocer cual es el comportamiento estándar de tus usuarios.
>
> Saludos.
>
> Walter.
>
> Si seleccionas una compra y muestras to
>
>
>
>
>
>
>
> > Date: Thu, 10 Nov 2011 22:55:43 -0800
> > Subject: [vfp] Re: Cuál es la mejor forma de contar los registros filtrados?
> > From:
ultraton...@gmail.com
> > To:
publice...@googlegroups.com
>
> > Qué tal Luis María... gusto en saludarte y gracias por el consejo.
> > Ahora... se me plantea una duda en cuanto al fin para el cual aplico
> > SET FILTER a un cursor.
> > Por ej., en un form de cta. cte. con las compras de un cliente en un
> > grid y los artículos de esas compras en otro, uso el filtro para
> > mostrar los artículos correspondientes a c/compra al ser seleccionada.
> > Por lo tanto mi duda es: La acción de traer del servidor los artículos
> > de c/compra cada vez que se mueve el puntero en el grid no sería
> > demasiado lento en conparación con traer de una vez todas las compras
> > y sus artíulos al seleccionar el cliente para luego solo filtrar
> > localmente? (considerando que en un caso como este se trata de no
> > muchos registros y de pocos campos)
> > Espero me haya podido explicar bien.
> > Saludos,
> > Javier.
>
> > On 10 nov, 20:52, Luis Maria Guayan <
luismar...@gmail.com> wrote:
> > > Javier, por el consejo de no hacer un SET FILTER en un cursor por no tener índice, la solución no es crearle un índice, sino es no hacer el SET FILTER, COUNT() o SELECT sobre el cursor, sino hacerlo sobre la tabla original, con la misma condición que utilizarías en el cursor
>
> > > Luis María Guayán
> > > Tucumán, Argentina
> > > _________________________
http://www.PortalFox.com
> > > Nada corre como un zorro
> > > _________________________
> > > El 10/11/2011 15:29, ultraton500 escribió:Muchas gracias por sus respuestas, al SET FILTER lo hago para filtrar un cursor_b según el registro selecconado en un cursor_a y necesitaba saber cuántos registros se muestran luego de aplicar cada filtro. Si bien se trata de muy pocos registros igualmente voy a crear los índices necesarios en los cursores para mejorar el filtrado y el conteo. Gracias nuevamente. Saludos, Javier. On 10 nov, 11:14, Luis Maria Guayan<
luismar...@gmail.com>wrote:Hay dos formas eficientes y rápidas: 1) COUNT con la condición del filtro en la cláusula FOR sobre la tabla original 2) SELECT COUNT(*) FROM LaTablaOriginal WHERE la condición del filtro Hacer un SET FILTER, un COUNT() o un SELECT SQL a un cursor no es óptimo al no tener índices Luis María Guayán Tucumán, Argentina _________________________
http://www.PortalFox.comNadacorre como un zorro _________________________ El 10/11/2011 11:55, ultraton500 escribió:Qué tal compañeros, la pregunta que escribí en el asunto se refiere a los registros de un cursor que es filtrado con SET FILTER. En particular me interesa saber cuál es la manera mas eficiente, mas que nada la mas rápida. Conozco dos formas de hacerlo (descartando la secuencial), usando COUNT o usando SELECT SQL y luego de contar eliminar el cursor resultante. Desde ya gracias por sus comentarios. Saludos, Javier.