Sentencias de SQL dinámico que Db2 puede almacenar en memoria caché
Solo algunas sentencias de SQL dinámico pueden guardarse en la memoria caché de sentencias dinámicas.
- SELECT
- UPDATE
- INSERT
- DELETE
- MERGE
Las sentencias SQL distribuidas y locales son elegibles para guardarlas.
Las sentencias que se envían a un servidor de acelerador se pueden guardar en la memoria caché.
Los tipos siguientes de texto de sentencia SQL con comentarios entre delimitadores se pueden guardar en la caché de sentencias dinámicas:
- Texto de sentencias SQL que empiece con comentario entre delimitadores que no estén anidados. Ningún comentario entre delimitadores individual de SQL que comience la sentencia puede ser mayor de 258 bytes. Un ejemplo de comentarios entre delimitadores sin anidar es /* */ /* */.
- Texto de sentencias SQL con comentarios entre delimitadores SQL sin anidar o anidados dentro del texto. Un ejemplo de comentarios entre delimitadores anidados es /* /* */ */.
Los comentarios entre corchetes que se encuentran en el código fuente de la sentencia SQL se guardan con el texto de la sentencia cuando las sentencias SQL se colocan en la memoria caché de sentencias dinámicas, a menos que otras herramientas eliminen los comentarios entre corchetes antes de que Db2 procese la sentencia SQL.
El texto de sentencias SQL que esté precedido por comentarios SQL simples (--) o cualquier otro carácter distinto a comentarios entre delimitadores sin anidar no es elegible para guardarlo en la caché de sentencias dinámicas.
Las sentencias de planes o paquetes que estén enlazados con REOPT(ALWAYS) no se pueden guardar en la caché. Las sentencias de planes y paquetes que estén enlazados con REOPT(ONCE) o REOPT(AUTO) se pueden guardar en la caché.
Las sentencias preparadas no se pueden compartir entre miembros de compartición de datos. Como cada miembro tiene su propia agrupación EDM, una sentencia almacenada en caché en un miembro no está disponible para una aplicación que se ejecute en otro miembro.