Home Discussions Questions & Answers Measuring SQL Data Extraction Efficiency

Measuring SQL Data Extraction Efficiency

Avatar photoCustomer December 14, 2023 at 3:28 pm

We have several custom data extraction SQLs that seem inefficient. How can I quantitatively assess whether the I/O expenditure for a given SQL is reasonable or if the query is performing poorly?

Viewing 4 reply threads
  • Author
    Replies
    • Support December 15, 2023 at 4:40 am  

      In the DBA AWR SQL Performance Summary report, examine the ‘IO Row’ column. This represents the average I/O per individual row retrieved. For data extraction SQLs without aggregation, this metric is a good indicator of efficiency.

    • Avatar photoCustomer December 16, 2023 at 10:02 am  

      If a report takes a long time, but doesn’t seem to spend much time waiting on I/O, where else might the time be going?

    • Support December 16, 2023 at 10:19 pm  

      The time could be spent on CPU, indicating complex processing or reading massive amounts of data from the buffer cache, or on PL/SQL execution, captured in the ‘Plsql Exec Time’ column. You should also check for network waits if there are database links involved.

    • Avatar photoCustomer December 18, 2023 at 3:30 am  

      If we decide to perform extensive PL/SQL tuning, what tool is recommended by Oracle and detailed in the Blitz Report sources?

    • Support December 19, 2023 at 6:10 pm  

      Oracle’s recommended tool for PL/SQL performance analysis is `DBMS_PROFILER`. You can analyze its output using the DBA DBMS Profiler Data report.

Viewing 4 reply threads
  • You must be logged in to reply to this post.

Login with: