DESCRIBE QUERY EXECUTION

4D - Documentation   Français   English   German   Español   English   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 11.1


DESCRIBE QUERY EXECUTION (estado)

ParámetroTipoDescripción
estadoBooleanoTrue=Activar análisis de búsquedas internas,
False=Desactivar el análisis de búsquedas internas

Descripción

El comando DESCRIBE QUERY EXECUTION permite activar o desactivar el modo de análisis de la ejecución de búsquedas para el proceso actual. El comando tiene en cuenta indiferentemente las búsquedas efectuadas vía el lenguaje 4D o por SQL.

La llamada del comando con el parámetro estado en True activa el modo del análisis de búsquedas. En este modo, el motor de 4D registra internamente dos series de informaciones específicas para cada búsqueda posterior efectuada sobre los datos:

Una descripción interna detallada de la búsqueda justo antes de su ejecución, en otras palabras, la búsqueda previa (el plan de búsqueda),

Una descripción interna detallada de la búsqueda que se ejecutó realmente (la ruta de búsqueda).

La información registrada incluye el tipo de búsqueda (indexada, secuencial), el número de registro encontrados y el tiempo necesario para cada criterio de búsqueda a ejecutar. Puede leer esta información utilizando los comandos Get Last Query Plan y Get Last Query Path.

Por lo general, la descripción del plan de una búsqueda y su ruta son idénticos, pero podrían eventualmente ser diferentes porque 4D podría implementar optimizaciones dinámicas durante la ejecución de la búsqueda para mejorar el rendimiento. Por ejemplo, una búsqueda índexada puede convertirse dinámicamente en una búsqueda secuencial si el motor 4D estima que sería más rápida — este es el caso, cuando el número de registros en los cuales se efectúa la búsqueda es bajo.

Pase False en el parámetro estado cuando no necesite analizar las búsquedas. El modo de análisis de la ejecución de las búsquedas puede volver lenta la aplicación.

Ejemplo

El siguiente ejemplo ilustra el tipo de información obtenido utilizando estos comandos en el caso de la búsqueda SQL:

   C_TEXT($vResultPlan;$vResultRuta)
   ARRAY TEXT(aNom_Actores;0)
   ARRAY TEXT(aNom_Ciudades;0)
   DESCRIBE QUERY EXECUTION(True) `modo análisis
   Begin SQL
      SELECT ACTORES.Nombre, CIUDADES.Nombre_Ciudad
         FROM ACTORES, CIUDADES
         WHERE ACTORES.Nacimiento_Ciudad_ID=CIUDADES.Ciudad_ID
         ORDER BY 1
         INTO :aNom_Actores, :aNom_Ciudades;
   End SQL
   $vResultPlan:=Get Last Query Plan(Description in Text Format )
   $vResultRuta:=Get Last Query Path(Description in Text Format )
   DESCRIBE QUERY EXECUTION(False)  `Fin modo análisis

Después de ejecutar este código, $vResultPlan y $vResultRuta contienen las descripciones de las búsquedas efectuadas, por ejemplo:

$vResultPlan: 
   [Join] : ACTORES.Nacimiento_Ciudad_ID= CIUDADES.Ciudad_ID
$vResultRuta: 
   And
      [Merge] : ACTORES con CIUDADES
         [Join] : ACTORES.Nacimiento_Ciudad_ID= CIUDADES.Ciudad_ID  (1227 records found in 13 ms)
      --> 1227 records found in 13 ms
   --> 1227 records found in 14 ms

Si la constante Description in XML Format se pasa al comando Get Last Query Path, $vResultPath contiene la descripción de la búsqueda expresada en XML:

$vResultRuta: 
   <QueryExecution>
      <steps description="y" time="0" recordsfounds="1227">
         <steps description="[Merge] : ACTORES con CIUDADES" hora="13" recordsfounds="1227">
            <steps description="[Join] : ACTORES.Nacimiento_Ciudad_ID=CITIES.Ciudad_ID" hora="13" recordsfounds="1227"/>
         </steps>
      </steps>
   </QueryExecution>

Ver también

Get Last Query Path, Get Last Query Plan.


4D - Documentation   Français   English   German   Español   English   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente