[ 2017-06-15 ]

Gestión de "Hints" utilizando SQL Patch

En este post Adding and Disabling Hints Using SQL Patch escrito por Nigel Bayliss
se comenta un poco sobre los cambios incorporados a la API de SQL Patch en 12c Release 2, en esta versión la interfaz se ha mejorado bastante y resulta más facil de utilizar.
Como novedades interesantes, el texto para hints "hint_text" es ahora de tipo CLOB en vez de un varchar2 como lo era hasta 12c R1, además l aAPI incluye un nuevo parametro para el SQL_ID.

Podemos verlo con mas claridad en la documentación:


DBMS_SQLDIAG.CREATE_SQL_PATCH (
    sql_text        IN   CLOB,
    hint_text       IN   CLOB,
    name            IN   VARCHAR2   := NULL,
    description     IN   VARCHAR2   := NULL,
    category        IN   VARCHAR2   := NULL,
    validate        IN   BOOLEAN    := TRUE)
RETURN VARCHAR2;

DBMS_SQLDIAG.CREATE_SQL_PATCH (
    sql_id          IN   VARCHAR2,
    hint_text       IN   CLOB,
    name            IN   VARCHAR2   := NULL,
    description     IN   VARCHAR2   := NULL,
    category        IN   VARCHAR2   := NULL,
    validate        IN   BOOLEAN    := TRUE)
RETURN VARCHAR2;


Como DBAs, es muy probable que muchas veces hayamos encontrado sistemas en los cuales muchisimas sentancias SQL utilizan "Hints" casi como una política o regla de desarrollo. A veces resulta interesante poder averiguar si estos "Hints" realmente están ayudando o no a la ejecución de la consulta y también poder demostrarle a un "team" de desarrollo, que no siempre es tan útil el micro-management del Optimizador de Oracle. A veces, es posible que también que sea necesario aplicar "hints" sobre la marcha.

Hace ya bastante tiempo, Maria Colgan escribió un par de posts (aquí y aquí sobre SQL Patch y cómo se puede agregar "Hints" a los SQL en una aplicación enlatada. En otras palabras, es posible aplicarle "hints" a sentencias SQL sin tener que cambiar el código de la aplicación.

Podemos profundizar más sobre el tema, leyendo el artículo original en inglés aqui

No hay comentarios:

Publicar un comentario