Hola,
un comentario con respecto a ...
Cita:
Posteado originalmente por Giniromero
IBTransCenta.CommitRetaining;
|
aunque el método CommitRetaining (que en realidad encapsula una llamada a la función del API
isc_commit_retaining) es muy cómodo desde el lado cliente, tiene sus puntos débiles en el lado servidor, que pueden llegar a provocar una bajada de rendimiento importante en el mismo.
isc_commit_retaining cierra la transacción actual y crea una nueva aprovechando el contexto de la antigua, con el consiguiente ahorro de tiempo, pero como desventaja está que no lanza el mecanismo de
recolección cooperativa de basura, vital para eliminar registros obsoletos en la Arquitectura MultiGeneracional (MGA) de InterBase. Este tipo de recolección de registros obsoletos sólo es lanzada con un hard-commit (una llamada a la función
isc_commit, o método Commit en IBTransaction). El resultado del uso continuado de CommitRetaining es una degradación paulatina del rendimiento hasta que se haga una limpieza, bien forzada por un sweeping o por un backup/restore de la base de datos.
En mi página web:
http://www.clubdelphi.com/users/kinobi tengo un documento donde se explica más el tema.
Saludos.