Hints SQL en ABAP: cómo optimizar consultas

Hints SQL en ABAP: cómo optimizar consultas 1

Los hints SQL en ABAP permiten orientar al optimizador de base de datos en casos concretos. Antes de aplicarlos conviene analizar la consulta, sus índices y el plan de ejecución para evitar optimizaciones frágiles.

1.      Hints (Sugerencias al optimizador)

Los hints son parámetros que pasamos a las sentencias SQL para influir en el optimizador de la base de datos.

Toda consulta SELECT se ejecuta dentro del servidor en varios pasos. Para la misma consulta, pueden existir distintos caminos para conseguir el mismo resultado, por lo que el servidor es el responsable de decidir qué camino seguir para conseguir el mejor tiempo de respuesta.

Los Hints varían dependiendo del fabricante de la base de datos, ya que son implementados en el SQL Nativo.

Debemos tener en cuenta que, si no es posible efectuar lo que se indica con el hint, el motor de base de datos lo ignorará.

2.       Implementación de Hints

En un programa ejecutable creamos una consulta hacia la tabla de vuelos e implementamos la instrucción de «%_HINTS».

Hints SQL en ABAP: cómo optimizar consultas 2

Si hacemos uso del autocompletado del editor, podemos observar las distribuciones de base de datos que soporta el servidor donde se está realizando la ejecución del programa, en el ejemplo la instancia tiene como motor de base de datos HANA por lo que seleccionamos esta opción.

Hints SQL en ABAP: cómo optimizar consultas 3

Hemos asignado una ejecución mediante la búsqueda por medio del índice, activamos la traza en la transacción «ST05» para poder observar como es la conversión que se realiza entre el ABAP SQL y el SQL Nativo.

Hints SQL en ABAP: cómo optimizar consultas 4

Realizamos la ejecución del programa, cuando la ejecución ha finalizado, desactivamos la traza y observamos los registros guardados.

Hints SQL en ABAP: cómo optimizar consultas 5
Hints SQL en ABAP: cómo optimizar consultas 6

Buscamos el registro de la consulta realizada y la abrimos con doble clic el «Object Name».

Hints SQL en ABAP: cómo optimizar consultas 7

Con lo que obtendremos información general del objeto persistente.

Hints SQL en ABAP: cómo optimizar consultas 8

Regresamos a la pantalla anterior y seleccionamos el apartado «Statement».

Hints SQL en ABAP: cómo optimizar consultas 9

Observamos que el ABAP SQL se ha convertido en SQL Nativo dela base de datos HANA y se ha indicado el Hint en la ejecución.

Hints SQL en ABAP: cómo optimizar consultas 10

A partir de este punto el consultor ABAP especialista en base de datos podrá influir en la ejecución de una sentencia SQL en la capa persistente.

NOTA: para consultar los Hints más representativos de HANA puede consultar dando click aquí.

Preguntas frecuentes

¿Qué es un hint SQL en ABAP?

Es una indicación añadida a una sentencia SQL para influir en cómo la base de datos planifica su ejecución.

¿Cuándo conviene usar hints?

Solo después de medir y analizar un caso concreto; no deben sustituir un buen diseño de consulta o de índices.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *