Hi Rose,
You can use the explain() function to obtain a query plan with v6 but it will
not include the compilation time, see:
http://docs.openlinksw.com/virtuoso/databaseadmsrv.html#perfdiagqueryplans
Best Regards
Hugh Williams
Professional Services
OpenLink Software, Inc. // http://www.openlinksw.com/
Weblog -- http://www.openlinksw.com/blogs/
LinkedIn -- http://www.linkedin.com/company/openlink-software/
Twitter -- http://twitter.com/OpenLink
Google+ -- http://plus.google.com/100570109519069333827/
Facebook -- http://www.facebook.com/OpenLinkSoftware
Universal Data Access, Integration, and Management Technology Providers
On 26 Nov 2013, at 01:55, Rose Beck <rosebeck...@gmail.com> wrote:
> Actually I do not have admin privileges on the server which I am using, so
> wont be able to upgrade to version 7. Therefore it will be really great if
> there is a method by which I may do profiling with virtuoso version 6.
>
>
>
>
> On Mon, Nov 25, 2013 at 5:33 PM, Rose Beck <rosebeck...@gmail.com> wrote:
> Thanks a lot for helping again.
>
> Is there some way out by which I may do profiling with V6?
>
>
> On Mon, Nov 25, 2013 at 5:41 PM, Hugh Williams <hwilli...@openlinksw.com>
> wrote:
> Hi Rose,
>
> As you are runing v6 the profile function will not work it requires v7+ ...
>
> The following shows simpler output with the compilation time being stated at
> the end:
>
> SQL> profile ('sparql select count(*) where {?s ?p ?o}');
> result
> LONG VARCHAR
> _______________________________________________________________________________
>
> 287536
>
> {
> time 0.11% fanout 1 input 1 rows
> time 0.08% fanout 1 input 1 rows
> { fork
> time 1e+02% fanout 0 input 1 rows
> RDF_QUAD 2.9e+05 rows()
>
>
> After code:
> 0: sum callret-0 1 set no set_ctr
> 5: BReturn 0
> }
> time 0.046% fanout 0 input 1 rows
> Select (callret-0)
> }
>
>
> 4 msec 77% cpu, 1 rnd 287210 seq 0% same seg 0%
> same pg
> Compilation: 1 msec 0 reads 0% read 0 messages 0% clw
>
> 4 Rows. -- 132 msec.
> SQL>
>
> So compilation is 1ms and execution is 132msec
>
> Best Regards
> Hugh Williams
> Professional Services
> OpenLink Software, Inc. // http://www.openlinksw.com/
> Weblog -- http://www.openlinksw.com/blogs/
> LinkedIn -- http://www.linkedin.com/company/openlink-software/
> Twitter -- http://twitter.com/OpenLink
> Google+ -- http://plus.google.com/100570109519069333827/
> Facebook -- http://www.facebook.com/OpenLinkSoftware
> Universal Data Access, Integration, and Management Technology Providers
>
> On 25 Nov 2013, at 11:19, Rose Beck <rosebeck...@gmail.com> wrote:
>
>> Dear Hugh,
>>
>> Thanks a lot for the help.
>> I am using virtuoso version: Version 6.1.8-dev.3127-pthreads as of Aug 10
>> 2013
>> Also I am unable to find the compilation and query execution time from the
>> example result set given below. Can you please help me a bit with this.
>> {
>> -- In the below excerpt some lines are omitted. Comments are inline.
>>
>>
>> time 1.3e-06% fanout 1 1 rows in
>>
>> s# 98 cluster outer seq start, set no <V $40 set_ctr in>
>> save ctx:()
>>
>> -- the section inside the fork is executed to the end
>> -- before the section after the fork is started.
>> s# 161 Fork 42
>> {
>> wait time 0.00012% of exec real time, fanout 0
>>
>> -- The below introduces the 2 stage DFG which does most of the work.
>> s# 108 { Cluster location fragment 51 0 unordered
>> Params: ()
>> Output: ()
>>
>> -- First partitioning step. Each of the 32 slices gets the
>> -- identical plan to execute, this is a flood for all is this
>> -- first step does not specify a partitioning key value.
>>
>> time 8e-05% fanout 0 0 rows in
>> s# 115 Stage 1: Params: (<V $112 set_ctr in>)
>>
>> -- This is the initial table scan. The operator is executed
>> -- 32 times, once for each slice of data.
>>
>> time 0.33% fanout 3.1e+06 32 rows in
>> s# 121 from DB.DBA.ct_c by ct_c 1.7e+08 rows
>> Key ct_c ASC (<V $28 a.k2 in>)
>> [copies params]
>> vector param casts: <V $40 set_ctr in>-> <V $112 set_ctr in>
>>
>> -- This is the second partitioning step, each of the rows of
>> -- output of the previous is sent to the slice corresponding to K2.
>>
>> time 31% fanout 0.9 2e+08 rows in
>> s# 131 Stage 2: Params: (<v $134 q_a.k2 S136 in>, <V $138 set_ctr in>)
>>
>> -- This is the 2nd index lookup, by a.k2 = b.k1 There are two
>> -- parameters given in the vector param cast section, the first
>> -- is a.k2 and the second is the set number. This is constant
>> -- since the query is run on a single row of input but if the
>> -- query were run on multiple rows of input this would specify
>> -- which row of input the a.k2 comes from so that this would be
>> -- aggregated in the right place. Many aggregates can be produced
>> -- in a single invocation with multiple rows of input.
>>
>> time 68% fanout 0 2e+08 rows in
>> s# 144 from DB.DBA.ct_c by ct_c unq 1 rows
>> Key ct_c ASC ()
>> inlined k1 = <v $134 q_a.k2 S136 in>
>> vector param casts: <V $28 a.k2 in>-> <v $134 q_a.k2 S136 in>, <r $112
>> set_ctr via S121>-> <V $138 set_ctr in>
>>
>>
>> -- This is the aggregation.
>>
>> After code:
>> 0: sum <V $43 count i> 1 set no <r $138 set_ctr via S144>
>> 5: BReturn 0
>>
>> }
>> }
>>
>> -- The below returns the aggregate to the client. The combining of
>> -- aggregates from different slices is implicit in the for operator
>> -- whenever this ends with a cluster location fragment.
>>
>> time 5.4e-07% fanout 0 1 rows in
>> s# 164 Select (<V $43 count i>)
>> set no: <V $40 set_ctr in>
>> }
>>
>>
>>
>> On Mon, Nov 25, 2013 at 4:42 PM, Rose Beck <rosebeck...@gmail.com> wrote:
>> Dear Hugh,
>>
>> Thanks a lot for the help. I tried to profile using profile but I am getting
>> the following errors:
>> SQL> profile('sparql select ?a?b?c where{?a ?b ?c}');
>>
>> *** Error 42001: [Virtuoso Driver][Virtuoso Server]SR185: Undefined
>> procedure DB.DBA.profile.
>> at line 9 of Top-Level:
>> profile('sparql select ?a?b?c where{?a ?b ?c}')
>> SQL> sparql profile('select ?a?b?c where{?a ?b ?c}');
>>
>> *** Error 37000: [Virtuoso Driver][Virtuoso Server]SQ074: Line 1: SP030:
>> SPARQL compiler, line 1: syntax error at 'profile' before '('
>> at line 10 of Top-Level:
>> sparql profile('select ?a?b?c where{?a ?b ?c}')
>>
>>
>>
>> On Mon, Nov 25, 2013 at 4:35 PM, Hugh Williams <hwilli...@openlinksw.com>
>> wrote:
>> Hi Rose,
>>
>> With Virtuoso 7 you can obtain the compilation (query plan) and query
>> execution time of a query using the "profile" function as detailed at:
>>
>>
>> http://docs.openlinksw.com/virtuoso/databaseadmsrv.html#readingqueryprofile
>>
>> You can also enable general query logging and profiling using the
>> "prof_enable" function as detailed at:
>>
>> http://docs.openlinksw.com/virtuoso/databaseadmsrv.html#querylogging
>>
>>
>> Best Regards
>> Hugh Williams
>> Professional Services
>> OpenLink Software, Inc. // http://www.openlinksw.com/
>> Weblog -- http://www.openlinksw.com/blogs/
>> LinkedIn -- http://www.linkedin.com/company/openlink-software/
>> Twitter -- http://twitter.com/OpenLink
>> Google+ -- http://plus.google.com/100570109519069333827/
>> Facebook -- http://www.facebook.com/OpenLinkSoftware
>> Universal Data Access, Integration, and Management Technology Providers
>>
>> On 25 Nov 2013, at 09:15, Rose Beck <rosebeck...@gmail.com> wrote:
>>
>>> After executing SPARQL queries in virtuoso using:
>>> 1. ./isql 1111 dba dba
>>> 2. And then firing the SPARQL query
>>>
>>> After this virtuoso returns the query execution time. So does the returned
>>> time include the plan generation time. If yes, is it possible to find:
>>> (plan generation time) and (time to retrieve the results after the plan
>>> has already been generated by Virtuoso)?
>>>
>>> I need to know these query times as I am benchmarking Virtuoso against
>>> postgreSQL. With postgresql I am able to separately retrieve the query
>>> execution time after the plan has been generated by postgresql using
>>> \timing. It would be great if Virtuoso could also give me the time it
>>> takes to retrieve the results after the plan has been generated separately
>>> as that would help me take a one to one comparison.
>>>
>>> I'll be really grateful to you for the guidance.
>>> ------------------------------------------------------------------------------
>>> Shape the Mobile Experience: Free Subscription
>>> Software experts and developers: Be at the forefront of tech innovation.
>>> Intel(R) Software Adrenaline delivers strategic insight and game-changing
>>> conversations that shape the rapidly evolving mobile landscape. Sign up
>>> now.
>>> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk_______________________________________________
>>> Virtuoso-users mailing list
>>> Virtuoso-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>>
>>
>>
>
>
>
> ------------------------------------------------------------------------------
> Shape the Mobile Experience: Free Subscription
> Software experts and developers: Be at the forefront of tech innovation.
> Intel(R) Software Adrenaline delivers strategic insight and game-changing
> conversations that shape the rapidly evolving mobile landscape. Sign up now.
> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk_______________________________________________
> Virtuoso-users mailing list
> Virtuoso-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing
conversations that shape the rapidly evolving mobile landscape. Sign up now.
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users