![]() |
que os parece este planteamiento
Hola
voy a migrar una aplicación de BDE a FIBplus y me gustaría que me dieseis vuestra opinión sobre este plenteamiento. Voy a definir dos transaciones para toda la aplicación una para lectura y otra para escritura, las consultas que sólo utilice para rellenar combos... usarán la de lectura y las que sean actualizables utilizarán la de lectura para leer y la de escritura para actualizar. Voy a utilizar cachedupdates para los dataset actualizables, para hacer la modificaciones en el cliente y mandar juntos todos los cambios al servidor y controlar las transaciones explicitamente para minimizar el tiempo de trasnsación de escritura algo asi try trasn.StartTransaction; DataSetCabecera.ApplyUpdate; DataSetLineas.ApplyUpdates; ...... Tras.Commit Tengo alguna duda, la trasación de lectura la puedo abrir al comenzar la aplicación y dejarla abierta todo el tiempo o cmbiene abrirla y cerrarla? Cualquier comentario será bien recibido, ya que este cambio implica bastente tiempo espero no equivocarme, y que el rendimiento de la aplicación mejore significativamente Gracias |
Cita:
Otra desventaja es que seguramente bajará el rendimiento, ya que el hecho de "arrastrar" la transacción conlleva más operaciones. No se, si a alguien se le ocurre alguna ventaja de esta configuración que la diga. |
Entonces me recomiendas abrir y cerrar la transación por cada consulta? debería asociar una transación a cada consulta? De todas formas en un formulario necesitio varias consultas(agentes, formas de pago, descuentos....) que muetro en combos o en grid. la transación debería estar abierta el mismo tiempo que la consulta, de lo contrario se cierra la consulta.
a no ser que el data set lo marque como cachedupdates aunque no se vaya a actualizar, hay alguna penalización el rendimiento si pongo cahcedupdates a true? gracias |
Opino exactamente igual. Incluso a lo de la transacción de lectura no le veo ningún sentido.
|
Con firebird/Interbase no tiene gracia porque estas usan un modo generacional, que permite tener "versiones" y que no utiliza locks en la base de datos, o sea, es muy optimo tanto pa' leer como pa' escribir.
Con otros motores si tiene sentido. No solo lo de lectura y escritura sino ademas tunear el modo de aislamiento de la transaccion. |
Habrá que leer más, porque todo me suena. Hay que ver lo que aprende uno por estos lares.
|
La franja horaria es GMT +2. Ahora son las 04:16:59. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi