Saltar al contenido

Solución de problemas de SQL con SAP HANA Database Explorer

Puede ser importante examinar las sentencias SQL que consumen mucho tiempo, CPU o memoria. Los siguientes pasos muestran cómo habilitar el costoso seguimiento de extractos.

  1. El siguiente SQL permitirá el seguimiento de declaraciones esclavas, establecerá los valores de umbral, ejecutará algunas declaraciones que superen los umbrales y luego deshabilitará el seguimiento de declaraciones esclavas.

    ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'DATABASE') SET ('expensive_statement', 'enable') = 'on' WITH RECONFIGURE;
    ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'DATABASE') SET ('expensive_statement', 'threshold_memory') = '41943040' WITH RECONFIGURE;   -- 40 MB
    ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'DATABASE') SET ('expensive_statement', 'threshold_duration') = '3000000' WITH RECONFIGURE;  -- 3 sec
    
    CALL HOTEL.RESERVATION_GENERATOR(1000);  --consumes more than 40 MB of memory
    
    DO BEGIN
      -- Wait for a few seconds
      USING SQLSCRIPT_SYNC AS SYNCLIB;
      CALL SYNCLIB:SLEEP_SECONDS( 3 );  --runs for longer than 3 seconds
      -- Now execute a query
      SELECT * FROM M_TABLES;
    END;
    
    ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'DATABASE') SET ('expensive_statement', 'enable') = 'off' WITH RECONFIGURE;
    
  2. Se puede encontrar una lista de declaraciones que superan los valores de umbral de la declaración costosa en la vista M_EXPENSIVE_STATEMENTS.

    select TOP 2 DURATION_MICROSEC/1000000, CPU_TIME/1000000, MEMORY_SIZE/1048576, START_TIME, RECORDS, STATEMENT_STRING from  M_EXPENSIVE_STATEMENTS order by start_time desc;
    
  3. Con SAP HANA Cloud, un explorador de bases de datos, la pestaña de mensajería también contiene información detallada sobre la duración, la CPU y la memoria consumida por una declaración.

    Consumo de recursos

¡Felicidades! Ahora ha explorado las herramientas disponibles para ayudar a diagnosticar y depurar SQL o SQLScript.