I want to evaluate the performances of different query plans.
I dont really need TuneTable since I don't really care the statistics is correct or not.
I just have to evaluate impact of those different parameters feed into optimizer.
Below is my sample test program and it should reveal my intention. It seems like BlockCount is not fetching the newest value from ^Blk when I compile. Any solution for this ?
do $system.SQL.Purge() w !,$system.OBJ.Compile("User.Table") set query = "select XXXX" set stat = ##class(%SQL.Statement).%New() if 'stat.%Prepare(query) w !,"prepare failed "_query set startT = $zts set r = stat.%Execute() set endT = $zts
go to post
It seems like any classes defined in %SYS would also returned by this method.
Any way to filter them out? Thanks.
go to post
I want to evaluate the performances of different query plans.
I dont really need TuneTable since I don't really care the statistics is correct or not.
I just have to evaluate impact of those different parameters feed into optimizer.
Below is my sample test program and it should reveal my intention. It seems like BlockCount is not fetching the newest value from ^Blk when I compile. Any solution for this ?
<BlockCount> ^Blk</BlockCount>
</SQLMap>
set Blks = $lb(-100,-200,-300)
set ^Blk = $li(Blks,r)
do $system.SQL.Purge()
w !,$system.OBJ.Compile("User.Table")
set query = "select XXXX"
set stat = ##class(%SQL.Statement).%New()
if 'stat.%Prepare(query) w !,"prepare failed "_query
set startT = $zts
set r = stat.%Execute()
set endT = $zts
//record startT and endT
}
go to post
Just curious, does this <STORE> error indicate that process private memory is not enough ?
If so, GROUP BY use process private memory to store the intermediate results ?
go to post
Never mind, it works now. Thanks you.
go to post
I did, but it still remain the same.
Is this field of SMP corresponding to the global buffer [Memory Allocated for 8KB Database Cache (MB)] ?
I would like to 10G memory to global buffer, is there any constraint about the upper limit ?
go to post
BTW, what if i would like to compare SSN with aaa'aa (ie: single quote is also the content I would like to compare.) ?
Thanks.
go to post
if "ReturnResultsets" specified in the SqlProc definittion,
could I just directly use "call SqlProcName" instead of "? = call SlqProcName" ?
go to post
I try triple single quote in $system.SQL.Shell(), but it still does not work.
ERROR #5540: SQLCODE: -1 Message: ) expected, ? found^ Call USER. SP ( ? ? [Generate+1247^%SYS.DynamicStatement:SAMPLES]
go to post
The double single quote does not work.
go to post
THanks.