Notas del release

8.1 Capítulo 3. Consideraciones sobre aplicaciones

8.1.1 Especificación del nivel de aislamiento

Dentro de la sección titulada "Especificación del nivel de aislamiento", añada los párrafos siguientes:

Además de establecer el nivel de aislamiento a nivel de paquete al preparar o vincular una aplicación, se puede establecer un nivel de aislamiento a nivel de sentencia. Un nivel de aislamiento a nivel de sentencia se especifica utilizando la cláusula WITH.

Las siguientes sentencias de SQL dan soporte al aislamiento a nivel de sentencia:

Hay algunas condiciones asociadas a la utilización del aislamiento a nivel de sentencia:

8.1.2 Ajuste de la clase de optimización

Dentro de la sección titulada "Ajuste de la clase de optimización", sustituya la información actual de nivel 2 por lo siguiente:

2 -
Esta clase dirige el optimizador a utilizar un grado de optimización que mejora significativamente en comparación con el de clase 1, mientras mantiene el coste de compilación significativamente más bajo que las clases 3 y anterior para consultas complejas. Concretamente:

La clase de optimización 2 es bastante parecida a la clase 5 excepto que utiliza la enumeración de unión ávida en lugar de la Programación dinámica. Esta clase tiene la mayor optimización de todas las clases de optimización que utilizan el algoritmo de enumeración de unión ávida, que considera menos alternativas para consultas complejas y, por lo tanto, consume menos tiempo de compilación que las clases 3 y anterior. Por lo tanto, se recomienda para consultas muy complejas en un entorno de proceso analítico en línea (OLAP) o de soporte de decisiones. En dichos casos, probablemente se ejecutará la misma consulta con poca frecuencia, de modo que su plan de acceso tiene pocas posibilidades de permanecer en la antememoria hasta la siguiente aparición de la consulta.

8.1.3 Sentencias compuestas dinámicas

Esta nueva sección debe añadirse después de la sección titulada "SQL compuesto":

Una sentencia compuesta dinámica agrupa otras sentencias de SQL en un bloque ejecutable. Dentro de la sentencia compuesta dinámica se pueden declarar variables de SQL, condiciones de declaración asociadas con SQLSTATEs y tener una o más sentencias procesales de SQL. Si se produce un error en la sentencia compuesta dinámica, se retrotraen todas las sentencias de SQL anteriores y no se procesan las sentencias de SQL restantes de la sentencia compuesta dinámica.

La sentencia compuesta dinámica se puede intercalar en un activador, función de SQL, método de SQL o se puede emitir a través de la utilización de sentencias de SQL dinámico. Esta sentencia ejecutable se puede preparar dinámicamente. No es necesario ningún privilegio para invocar la sentencia, pero el ID de autorización asociado con la sentencia debe tener los privilegios necesarios para invocar las sentencias de SQL intercaladas dentro de la sentencia compuesta.

Existen variables en las subsentencias de la declaración de variable. Hay condiciones presentes en las subsentencias basadas en los valores SQLSTATE de la declaración de condición. DB2 compila las sentencias compuestas dinámicas como una única sentencia. Esta sentencia puede utilizarse de forma efectiva para scripts cortos que implican poca lógica de flujo de control pero bastante flujo de datos. Para construcciones mayores con flujo de control complejo anidado, debería tener presente la utilización de procedimientos de SQL.

Hay varias sentencias de lógica de flujo de control que se pueden utilizar dentro de la sentencia compuesta dinámica. Incluyen: la sentencia FOR, la sentencia IF, la sentencia ITERATE y la sentencia WHILE. Se encuentran detalles sobre estas sentencias y las otras sentencias soportadas en la publicación Consulta de SQL.


[ Principio de página | Página anterior | Página siguiente ]