Limitar Carga Datos Relacion

Buen dia gente:
les comento que estoy trabajando con con un cn que contiene un datos relacion, dentro de este datos relacion hay alrededor de 25 tablas, todas relacionadas. A medida que va creciendo el volumen de datos, la carga de este datos relacion se hace mas lenta, lo que hace que el sistema se vuelve muy lento.
Existe alguna manera de limitar la carga de registros del datos relacion? O algun procedimiento para acelerar esta carga?
Saludos

Hola Gustavo,

te hago un par de preguntas, las tablas integrantes de la relacion contienen columnas externas?, si esto es asi… que metodo de carga se selecciono para las mismas?.

Por otro lado, como siempre sugiero… los componentes de persistencia son mas utiles cuando se usan para hacer edicion de datos, en gral no es buena idea utilizarlos para llenar listados o cuadros ya que tienen bastante overhead debido a la info que se mantiene internamente para todo lo que es edicion, si lo estas usando asi… es muy probable que te sea mucho mas eficiente hacer la SQL directamente para cargar el listado.

De todas maneras, una relacion de 25 tablas es bastante grande (record calculo :D)… en gral el metodo de carga es simple, son SQLs serializadas, quizas habria que ver si se puede encontrar algo mas eficiente.

Saludos

Richard:
los cuadros o listas que utilizo los lleno con daos, esta pregunta surgio por lo siguiente:
en la mayoria de los abm utilizo una pantalla inicial con un filtro y cuadro, el cuadro con eventos eliminación y selección, luego a nivel ci un botón nuevo que me lleva a la pantalla alta/edicion donde se encuentra un formulario. Al momento de querer dar de alta se presiona el boton nuevo, se carga lo que se tiene que cargar en el formulario, y apretando el boton guardar este agrega una fila al datos tabla correspondiente, persiste y vuelve al listado inicial. En ningún momento utilizo el cargar del datos tabla o del datos relacion.

El problema surge por que necesito que los datos que di de alta en un abm se mantengan en el frm luego de guardar, la unica manera que encontre fue haciendo el cargar en memoria de los datos tabla luego de presionar el boton nuevo, cuando se presiona el boton seleccion se carga ese datos tabla o datos relacion con el id del registro que seleccione en el cuadro (aca no hay problema por que limito la carga con un registro). Bueno al tener miles de registro y tener una datos relacion con tantas relaciones tarda mucho en cargar el datos relacion.
No se si me explique bien.
Saludos

Hola Gustavo,

Es necesario que vuelvas a la pantalla inicial luego de guardar?, si te quedas en la misma pantalla ya los tenes cargados, es mas… si no reseteas el datos relacion, al darle al boton nuevo te quedarian todos los datos de la edicion anterior, es solo una opcion no se si te sirve.

cuando se presiona el boton seleccion se carga ese datos tabla o datos relacion con el id del registro que seleccione en el cuadro (aca no hay problema por que limito la carga con un registro). Bueno al tener miles de registro y tener una datos relacion con tantas relaciones tarda mucho en cargar el datos relacion. No se si me explique bien.
Si y no :D, osea... si siempre cargas de a un registro para edicion, no deberia tardar tanto. Si tarda es porque el volumen de datos que se envia desde el servidor es realmente amplio, en cuyo caso mucho no podes hacer.

Lo otro que puede pasar, es que los indices en dichas tablas no esten funcionando… entonces hace sequential scans con cada select… lo que si te puede penalizar cuando son muchos registros.

Fijate que en el logger te aparecen las SQL que se ejecutan, la cantidad de filas que recupera y el orden en que se ejecutan, en teoria serian unas 30 sql nomas… fijate si ejecutandolas a mano antes de pasar por Toba, tarda mas o menos que desde dentro del sistema (ojo que el motor cachea, todas las corridas no van a ser iguales).

Saludos