Inicio del cambio

SET CURRENT QUERY ACCELERATION WAITFORDATA sentencia

La sentencia SET CURRENT QUERY ACCELERATION WAITFORDATA asigna un valor al registro especial CURRENT QUERY ACCELERATION WAITFORDATA.

Invocación para SET CURRENT QUERY ACCELERATION WAITFORDATA

Esta sentencia puede incorporarse en un programa de aplicación o emitirse de forma interactiva. Se trata de una sentencia ejecutable que puede prepararse de forma dinámica.

Autorización para SET CURRENT QUERY ACCELERATION WAITFORDATA

No se necesita ninguna.

Sintaxis para SET CURRENT QUERY ACCELERATION WAITFORDATA

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualSET CURRENT QUERY ACCELERATION WAITFORDATA=nnnn.mVariable

descripción para SET CURRENT QUERY ACCELERATION WAITFORDATA

nnnn.m
Es un valor constante numérico DECIMAL(5,1) que especifica el número máximo de segundos que el acelerador retrasará una consulta mientras espera la replicación de los cambios de datos de Db2 confirmados que se produjeron antes de que Db2 ejecutara la consulta.

Puede especificar un valor en el rango de 0.0 a 3600.0 segundos. Por ejemplo, un valor de 20.0 representa 20.0 segundos (o 20000 milisegundos), y un valor de 30.5 representa 30.5 segundos (o 30500 milisegundos). El valor máximo de 3600.0 significa que la consulta se retrasa 60 minutos.

El valor predeterminado es 0.0, lo que significa que la consulta no se retrasa y se ejecuta inmediatamente en el acelerador. No se aplica a la consulta ningún otro comportamiento de WAITFORDATA.

El valor del tiempo de espera también se puede especificar como un valor constante numérico INTEGER en el rango de 0 a 3600 segundos, que Db2 convertirá a un valor DECIMAL (5,1).

Variable
Es una variable de lenguaje o variable SQL que tiene un tipo de datos DECIMAL(5,1) u otro tipo de datos que se puede asignar a DECIMAL(5,1). Cualquier valor que se especifique para la variable debe ajustarse a las especificaciones de nnnn.m. Además, variable no puede ser una variable global.

Notas para SET CURRENT QUERY ACCELERATION WAITFORDATA

Inicio del cambioEl orden de prioridad (de menor a mayor) para establecer el valor del registro especial es el siguiente:
  • El parámetro de subsistema QUERY_ACCEL_WAITFORDATA
  • La opción de enlace ACELERATIONWAITFORDATA, si se ha especificado
  • Una instrucción explícita SET CURRENT QUERY ACCELERATION WAITFORDATA
fin del cambio

El registro especial WAITFORDATA se utiliza únicamente para consultas dinámicas y solo se aplica cuando también se solicita el comportamiento de aceleración de consultas mediante el registro especial CURRENT QUERY ACCELERATION. El registro especial WAITFORDATA no se aplica a las consultas aceleradas que hacen referencia únicamente a tablas de solo acelerador (AOT).

El tiempo de espera de demora comienza cuando la consulta llega al acelerador, no cuando la consulta comienza a ejecutarse en Db2. Para obtener más información sobre cómo determinar los valores de tiempo de retardo WAITFORDATA adecuados para la aceleración de consultas con replicación en su entorno, consulte la documentación de IBM® Db2 Analytics Accelerator for z/OS® sobre el procesamiento analítico y transaccional híbrido (HTAP) y la función WAITFORDATA.

Establecer CURRENT QUERY ACCELERATION WAITFORDATA en un valor mayor que 0 especifica que Db2 y el acelerador aplicarán el comportamiento y las restricciones de retardo WAITFORDATA a todas las consultas dinámicas que se acelerarán posteriormente. Los siguientes comportamientos, requisitos y restricciones se aplican al uso de WAITFORDATA para retrasar las consultas:

  • Cuando Db2 envía una consulta al acelerador, Db2 también envía el tiempo de espera de retardo WAITFORDATA especificado y un valor interno que representa el último cambio de datos de Db2 confirmado en todo el subsistema Db2 (para un entorno de intercambio de datos, en todos los subsistemas Db2 del grupo de intercambio de datos) en el momento en que Db2 envía la consulta al acelerador. El cambio de datos comprometido puede estar o no relacionado con una tabla acelerada a la que se hace referencia en la consulta, pero el valor interno que representa este cambio comprometido se sigue utilizando para la consulta que se acelera.
  • Si el tiempo de espera especificado en WAITFORDATA expira antes de que el cambio de datos de Db2 e comprometido esperado se replique en el acelerador, el acelerador fallará la consulta y emitirá SQLCODE -904 acompañado de información de mensaje adicional.

    Si el tiempo de espera de demora expira en la primera APERTURA de la consulta en la unidad de trabajo actual de Db2 , la consulta fallida cumple los requisitos para la recuperación a Db2 si la ACELERACIÓN DE CONSULTAS ACTUAL se ha establecido en HABILITAR CON RECUPERACIÓN.

    Este comportamiento de expiración del tiempo de espera de retraso predeterminado de WAITFORDATA puede cambiarse modificando los ajustes de configuración del acelerador para la replicación. Para obtener información sobre cómo cambiar el comportamiento de vencimiento del tiempo de espera predeterminado de WAITFORDATA, consulte la información de WAITFORDATA en la documentación de IBM Db2 Analytics Accelerator for z/OS .

  • Todas las tablas de aceleración de datos ( Db2 ) a las que se hace referencia en la consulta deben estar suscritas y habilitadas para la replicación en el acelerador de destino.Si todas las tablas aceleradas de la consulta no cumplen este requisito, el acelerador fallará la consulta y emitirá SQLCODE -904 acompañado de información de mensaje adicional.

    Si este fallo se produce en la primera APERTURA de la consulta en la unidad de trabajo actual de Db2 , la consulta con fallo cumple los requisitos para la recuperación ante fallos en Db2 si la ACELERACIÓN DE CONSULTAS ACTUAL se ha establecido en HABILITAR CON RECUPERACIÓN ANTE FALLOS.

    Este comportamiento predeterminado de WAITFORDATA puede cambiarse modificando los ajustes de configuración del acelerador para la replicación. Para obtener información sobre cómo cambiar este requisito de comportamiento predeterminado de WAITFORDATA, consulte la información de WAITFORDATA en la documentación de IBM Db2 Analytics Accelerator for z/OS .

  • El comportamiento de WAITFORDATA depende del proceso de replicación.Por lo tanto, las consultas aceleradas pueden verse directamente afectadas por el estado, la función y el rendimiento actuales de la replicación, lo que puede provocar que la consulta acelerada falle en el acelerador con SQLCODE -904 si la replicación no funciona o no se realiza correctamente.
  • En las siguientes situaciones, los cambios e Db2 es que se realicen antes de que la consulta se envíe al acelerador no estarán disponibles para la consulta cuando se ejecute en el acelerador, incluso si se solicita el comportamiento de retraso WAITFORDATA para la consulta:
    • La consulta especifica una tabla Db2 acelerada, pero la misma unidad de trabajo de Db2 incluye un cambio Db2 no confirmado anterior que no estará disponible para la consulta cuando se ejecute en el acelerador. En esta situación, el comportamiento del acelerador WAITFORDATA no se puede lograr para la consulta, y la consulta no se acelerará. El cambio de Db2 puede estar relacionado o no con la tabla acelerada de Db2 a la que se hace referencia en la consulta.
    • La consulta especifica una tabla acelerada de Db2, pero la misma unidad de trabajo de Db2 incluye un cambio de tabla solo de acelerador (AOT) no confirmada anterior. Este cambio no comprometido dio lugar a la creación de un aislamiento de instantáneas (SI) de la base de datos del acelerador para esta unidad de trabajo antes de que se ejecutara la consulta; por lo tanto, no se puede lograr el comportamiento del acelerador WAITFORDATA para la consulta, y la consulta no se acelerará. Esta base de datos aceleradora SI puede evitar que los cambios de e Db2 a comprometidos y replicados, realizados por esta transacción o por una transacción diferente, estén disponibles para la consulta acelerada, incluso si los cambios de e Db2 a se replican en el acelerador antes de que se ejecute la consulta allí.

    En estas situaciones, Db2 no acelerará la consulta, sino que la ejecutará únicamente en Db2, si es posible. Si el comportamiento de QUERY ACCELERATION solicitado no permite que la consulta se ejecute solo en Db2 o si la consulta también hace referencia a un AOT, entonces Db2 rechazará la consulta y emitirá SQLCODE -4742. El comportamiento predeterminado de WAITFORDATA para estas situaciones solo puede cambiarse modificando la aplicación de transacción con los cambios que se describen en los códigos de motivo asociados en SQLCODE -4742.

Ejemplos para SET CURRENT QUERY ACCELERATION WAITFORDATA

La siguiente declaración establece el registro especial CURRENT QUERY ACCELERATION WAITFORDATA en 180 segundos, lo que especifica que el acelerador espera a que se ejecute la consulta durante un máximo de tres minutos:
SET CURRENT QUERY ACCELERATION WAITFORDATA = 180.0;
La siguiente declaración establece el registro especial CURRENT QUERY ACCELERATION WAITFORDATA en 2.5 segundos:
SET CURRENT QUERY ACCELERATION WAITFORDATA = 2.5;
fin del cambio