IMMEDWRITE opción de enlace
La opción IMMEDWRITE indica si se van a realizar escrituras inmediatas para las actualizaciones efectuadas para agrupar conjuntos de páginas o particiones de base de datos dependientes de agrupaciones de almacenamientos intermedios.
| Opción de comando | Valores de las opciones | Usado con |
|---|---|---|
| IMMEDWRITE |
|
- La opción IMMEDWRITE(INHERITFROMPLAN) no es válida para REBIND de paquetes para servicios REST nativos.
- La opción de reasignación no es válida para la reasignación de paquetes para procedimientos nativos de SQL o desencadenadores avanzados.
Esta opción solo es aplicable a entornos de intercambio de datos. El parámetro del subsistema IMMEDWRITE no tiene efecto en la opción de enlace IMMEDWRITE en el momento del enlace. La siguiente tabla muestra la jerarquía implícita de esta opción en cuanto a su efecto en el tiempo de ejecución.
Descripciones de opciones para IMMEDWRITE
- IMMEDWRITE(NO)
- Especifica que se realiza una actividad de escritura normal. Las páginas actualizadas que dependen del grupo de memoria intermedia se escriben en la fase uno de la confirmación o antes, o al final de la cancelación para las transacciones que se han revertido.
- IMMEDWRITE(YES)
- Especifica que las páginas actualizadas que dependen del grupo de búferes se escriben inmediatamente en cuanto se completa la actualización del búfer. Las páginas actualizadas se escriben inmediatamente, incluso si el búfer se actualiza durante el progreso de reenvío o durante la reversión de una transacción. Especificar esta opción podría afectar al rendimiento.
- IMMEDWRITE(INHERITFROMPLAN)
Permite que un paquete local herede el valor de la opción IMMEDWRITE del plan, independientemente de si el paquete se vinculó de forma remota o local.
Si vincula un paquete de forma remota con la opción IMMEDWRITE(INHERITFROMPLAN) y el servidor remoto no entiende el valor INHERITFROMPLAN, el servidor podría devolver un error.
El valor IMMEDWRITE(INHERITFROMPLAN) no se aplica en las siguientes situaciones, porque no existe ningún plan asociado:
- Si enlaza la aplicación localmente y, a continuación, copia el paquete en un servidor remoto.
- Si enlaza una aplicación que utiliza RRSAF.
- Para los paquetes que se crean para programas de utilidad
En estos casos, IMMEDWRITE(NO) está en vigor para el paquete.
| Opción de enlace IMMEDWRITE | Parámetro del subsistema IMMEDWRI | Valor en tiempo de ejecución |
|---|---|---|
| NEE | NEE | NEE |
| NEE | PH1 | PH1 |
| NEE | YES | YES |
| PH1 | NEE | PH1 |
| PH1 | PH1 | PH1 |
| PH1 | YES | YES |
| YES | NEE | YES |
| YES | PH1 | YES |
| YES | YES | YES |
Interacciones con la opción PLANMGMT : si planea cambiar esta opción y la opción PLANMGMT en un comando REBIND, consulte la opción de enlace PLANMGMT para conocer las implicaciones.
Implicaciones de IMMEDWRITE en el rendimiento
Puede utilizar IMMEDWRITE(NO) e IMMEDWRITE(YES) para situaciones en las que una transacción genera otra transacción que puede ejecutarse en otro miembro de Db2 y que depende de actualizaciones no confirmadas que fueron realizadas por la transacción original.
Especifique IMMEDWRITE(NO) para que las páginas dependientes del grupo de búferes se escriban en la fase 1 de confirmación o antes.
- Ejecute siempre la transacción dependiente en el mismo miembro de la red de pago ( Db2 ) que la transacción original.
- Ejecute la transacción dependiente con ISOLATION(RR).
- Espere hasta que se complete la fase dos del compromiso antes de generar la transacción dependiente.
- CURRENTDATA(YES) o ISOLATION(RS) pueden utilizarse para resolver el problema solo si la transacción de origen actualiza columnas que no están en la cláusula WHERE de la transacción dependiente.
Valores predeterminados para IMMEDWRITE
| Proceso | Valor predeterminado: |
|---|---|
| BIND SERVICE | NEE |
| BIND PLAN | NEE |
| BIND PACKAGE |
|
| REBIND PLAN | Valor existente |
| REBIND PACKAGE | Valor existente |
| REBIND TRIGGER PACKAGE | Valor existente |