Creación de tablas EXPLAIN de entradas en un esquema aparte

Puede simplificar la tarea de llenar las tablas EXPLAIN necesarias para la entrada de mandatos creando tablas en un esquema aparte.

Acerca de esta tarea

Iniciar la información de la interfaz de programación específica del programa.

Cuando se emiten mandatos como BIND QUERY, a menudo hay que llenar filas en algunas tablas relacionadas que contienen valores de entrada. De forma predeterminada, Db2 utiliza datos de las tablas EXPLAIN que se crean bajo el esquema del emisor del mandato BIND QUERY. Por tanto, puede utilizar las mismas tabla como salida para datos de EXPLAIN y también como entrada para el mandato BIND QUERY.

Sin embargo, las tablas de salida EXPLAIN es probable que contengan muchas más filas de las que son necesarias por el mandato BIND QUERY. La presencia de dichas filas adicionales pueden interferir con la sugerencia o la alteración temporal que desee crear. Para evitar este problema, puede especificar que Db2 utilice tablas de entrada con un esquema diferente.

Procedimiento

Para crear tablas distintas que proporcionen valores para la entrada del mandato BIND QUERY:

  1. Cree tablas EXPLAIN en su propio esquema.
  2. Cree instancias de los objetos siguientes en un esquema nuevo.
    • Tabla DSN_USERQUERY_TABLE
    • tabla PLAN_TABLE
    • Índice PLAN_TABLE_HINT_IX
    • Tabla DSN_PREDICAT_TABLE
    • Índice DSN_PREDICAT_TABLE_IX
    • Tabla DSN_PREDICATE_SELECTIVITY
    • Índice DSN_PREDICATE_SELECTIVITY_IX

    Puede encontrar sentencias de ejemplo para crear estos objetos en el miembro DSNTESC de la biblioteca SDSNSAMP.

  3. Capture la información de EXPLAIN sobre las sentencias para rellenar las tablas EXPLAIN de su esquema.
  4. Seleccione solo las filas necesarias de las tablas EXPLAIN en su esquema, e inserte las filas en las tablas EXPLAIN que hay en el esquema nuevo.
    No todas las tablas que se utilizan para cada método influyen en la selección de vía de acceso. Sin embargo, es preferible crear todos los objetos de la lista anterior y llenar solo los objetos necesarios.
  5. Modifique las filas según sea necesario con la información que utiliza Db2 para la selección de la ruta de acceso.
    Para obtener información detallada sobre las filas y los valores que se necesiten, consulte la información específica sobre el tipo de sugerencia que quiera crear:
  6. Emita el mandato BIND QUERY y especifique la opción EXPLAININPUTSCHEMA.
    Por ejemplo, el mandato siguiente especifica el uso de las tablas de entrada en el esquema BINDQ:
    BIND QUERY EXPLAININPUTSCHEMA('BINDQ')
    Db2 utiliza los valores de las tablas bajo el esquema especificado para cumplimentar las tablas de catálogo relacionadas.Finalizar la información de la interfaz de programación específica del programa.