[ 
https://issues.apache.org/jira/browse/DERBY-4587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12857244#action_12857244
 ] 

A.S.Thiwanka Somasiri commented on DERBY-4587:
----------------------------------------------

Hi Bryan, 
             As I found,here are the tables that have all the statistics 
information for our need. 
                   1. SYSXPLAIN_STATEMENTS 
                   2. SYSXPLAIN_STATEMENT_TIMINGS 
                   3. SYSXPLAIN_RESULTSETS 
                   4. SYSXPLAIN_RESULTSET_TIMINGS 
                   5. SYSXPLAIN_SCAN_PROPS 
                   6. SYSXPLAIN_SORT_PROPS 

              Earlier we had an issue on "how to filter the result set nodes(or 
else the overall tree structure) to show in a graphical view". The 
SYSXPLAIN_RESULTSETS table captures the information about each result set which 
is a part of the statement. So we can grab the information about the result set 
nodes through this table and the timing related statistics through the 
SYSXPLAIN_RESULTSET_TIMINGS table and so on. 

For example if a statement(query) is used to access a database, the result set 
information are stored in the SYSXPLAIN_RESULTSETS table.Single statement may 
have more than one result set node. In such a case we can join the table 1 and 
table 3 to get the whole set of result sets for the statement executed. 

Like this we have to traverse through all these tables to get the values that 
we need to view the execution plan in the browser window. 
We can do all these activities through a Java Program and save them through 
setter methods to a certain Java Object, which has attributes for all the 
statistics in the above tables.These statistics are same as statistics 
information in the logQueryPlan. Additionally, in the Java Program,we should 
have a method to iterate through the result set nodes that we grab from the 
SYSXPLAIN_RESULTSETS table.Then only we can generate the XML format which maps 
with each result set node.(The XML should be separated, so that it describes 
each result set node.)Then we can use XSLT to convert XML to XHTML,etc. 

The other important milestone is to generate the XML from the above mentioned 
Java Object which owns the statistics information.I have a suggestion to use 
open source XStream for this task.I am not 100% percent sure whether it is 
possible.At least we can try it out. 

Thank you.

> Add tools for improved analysis and understanding of query plans and 
> execution statistics
> -----------------------------------------------------------------------------------------
>
>                 Key: DERBY-4587
>                 URL: https://issues.apache.org/jira/browse/DERBY-4587
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL, Tools
>            Reporter: Bryan Pendleton
>            Assignee: Bryan Pendleton
>         Attachments: Derby Query Plan Screen Shot 2.jpg, 
> Derby_Query_Plan_Screen_Shot.jpg, PostgreSQL license.jpg, Read_Me.txt, 
> Source.rar
>
>
> I think it would be great to see some work in the area of tools for helping
> with the analysis of complex query execution. Quite frequently, users of
> Derby have trouble comprehending (a) how their query is being translated
> into a query plan by the optimizer, and (b) what the execution-time resource
> usage of the various parts of the query is.
> There are low-level features in Derby which capture this information and
> record it, such as logQueryPlan, and the XPLAIN tables, but there is a lot
> of opportunity for designing higher-level tools which can process the query
> plan and execution statistics information and present it in a more
> comprehensible fashion. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to