Optimizar velocidad en Clarion con SQL
Publicado: Mié Oct 18, 2017 3:50 pm
Hola gente!
Desde hace un tiempo he migrado mis viejos sistemas en TPS a SQL utilizando el motor FireBird. Como bien diría Mauricio en sus tutoriales, uno le vende a sus clientes que con SQL todo irá mejor y más rápido y después se encuentra con que en determinados procesos la lentitud es considerable. Por eso con el tiempo he ido optimizando los mismos tratando de aprovechar los beneficios de SQL, y resolviendo las trabas a medida que se iban presentando, muchas veces con ayuda de los foreros que me ha sabido desasnar en más de una ocasión!
Pero si hay algo que aún me da vueltas y no he encarado por el momento, es el tema de los Browses. Me parece super práctica la manera en que el wizard de Clarion crea las ventanas con Browse y sus botones para ABM que llaman a los forms, y si bien he tenido la precaución de que la carga de los mismos sea paginada, a medida que las tablas crecen se va incrementando la lentitud de carga y búsquedas en las ventanas.
Por poner dos ejemplos claros:
1) Típica ventana de consulta o búsqueda de artículos con múltiples lengüetas para buscar por código, descripción, rubro, palabras, etc. Ya de movida si la tabla tiene 20.000 o 30.000 registros el sólo abrir la ventana por primera vez implica una demora de 2 o 3 segundos. Si se quiere utilizar la búsqueda incremental o los locator filtered por cada letra que uno ingresa hay un "parpadeo" en la lista que se torna molesto. Ni hablar si el sistema se está usando en una PC cliente de red y las máquinas son clones estándares con una memoria y un procesador bien básicos.
2) Carga de tablas con formato PADRE-HIJA, por ejemplo, Facturas con sus detalles, o presupuestos, o similares. Asumiendo que el detalle utiliza la búsqueda mencionada en el punto 1), una vez que se encuentra el artículo buscado y se selecciona, hay una demora de 1 o 2 segundos hasta que el mismo se carga al browse de detalle (siempre hablando de tablas con miles de registros)
Por esta razón, quería contactarme con alguien que pudiera ayudarme a optimizar estos aspectos, ya que tengo algunos clientes con tablas muy muy grandes que necesitan una velocidad de proceso rápida y eficiente. Saliendo de la ayuda que me puedan brindar a través del foro, quisiera contratar a alguien part-time, como una especia de "tutor" con quien ir resolviendo cuestiones como esta a través de ejemplos concretos de código.
Si alguien está interesado, le dejo mi mail para que me contacte por privado: ilepetersen@hotmail.com
Muchas gracias y saludos! Ileana
Desde hace un tiempo he migrado mis viejos sistemas en TPS a SQL utilizando el motor FireBird. Como bien diría Mauricio en sus tutoriales, uno le vende a sus clientes que con SQL todo irá mejor y más rápido y después se encuentra con que en determinados procesos la lentitud es considerable. Por eso con el tiempo he ido optimizando los mismos tratando de aprovechar los beneficios de SQL, y resolviendo las trabas a medida que se iban presentando, muchas veces con ayuda de los foreros que me ha sabido desasnar en más de una ocasión!
Pero si hay algo que aún me da vueltas y no he encarado por el momento, es el tema de los Browses. Me parece super práctica la manera en que el wizard de Clarion crea las ventanas con Browse y sus botones para ABM que llaman a los forms, y si bien he tenido la precaución de que la carga de los mismos sea paginada, a medida que las tablas crecen se va incrementando la lentitud de carga y búsquedas en las ventanas.
Por poner dos ejemplos claros:
1) Típica ventana de consulta o búsqueda de artículos con múltiples lengüetas para buscar por código, descripción, rubro, palabras, etc. Ya de movida si la tabla tiene 20.000 o 30.000 registros el sólo abrir la ventana por primera vez implica una demora de 2 o 3 segundos. Si se quiere utilizar la búsqueda incremental o los locator filtered por cada letra que uno ingresa hay un "parpadeo" en la lista que se torna molesto. Ni hablar si el sistema se está usando en una PC cliente de red y las máquinas son clones estándares con una memoria y un procesador bien básicos.
2) Carga de tablas con formato PADRE-HIJA, por ejemplo, Facturas con sus detalles, o presupuestos, o similares. Asumiendo que el detalle utiliza la búsqueda mencionada en el punto 1), una vez que se encuentra el artículo buscado y se selecciona, hay una demora de 1 o 2 segundos hasta que el mismo se carga al browse de detalle (siempre hablando de tablas con miles de registros)
Por esta razón, quería contactarme con alguien que pudiera ayudarme a optimizar estos aspectos, ya que tengo algunos clientes con tablas muy muy grandes que necesitan una velocidad de proceso rápida y eficiente. Saliendo de la ayuda que me puedan brindar a través del foro, quisiera contratar a alguien part-time, como una especia de "tutor" con quien ir resolviendo cuestiones como esta a través de ejemplos concretos de código.
Si alguien está interesado, le dejo mi mail para que me contacte por privado: ilepetersen@hotmail.com
Muchas gracias y saludos! Ileana