<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Oracle Tracing &amp;amp; Bind Variables in Data Management Questions</title>
    <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8168#M457</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Predominately IFeatureClass.GetFeature(oid) in a loop.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 23 Feb 2011 14:43:58 GMT</pubDate>
    <dc:creator>NathanielWingfield</dc:creator>
    <dc:date>2011-02-23T14:43:58Z</dc:date>
    <item>
      <title>Oracle Tracing &amp; Bind Variables</title>
      <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8161#M450</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Oracle tracing with TKPROF is the recommended way to troubleshoot data access performance problems with SDE. Unfortunately, queries that differ in any way are considered "different" and summarized independently. For our long-running geoprocessing task, millions of queries like this are generated:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;SELECT A, B, C FROM TABLE WHERE (OBJECTID = 123);&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The TKPROF output for this query shows stats for EVERY SINGLE CALL of this type, because the OBJECTID differs in each case. For example:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;SELECT A, B, C FROM TABLE WHERE (OBJECTID = 123);

call&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu&amp;nbsp;&amp;nbsp;&amp;nbsp; elapsed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query&amp;nbsp;&amp;nbsp;&amp;nbsp; current&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows
------- ------&amp;nbsp; -------- ---------- ---------- ---------- ----------&amp;nbsp; ----------
Parse&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0
Execute&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0
Fetch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1
------- ------&amp;nbsp; -------- ---------- ---------- ---------- ----------&amp;nbsp; ----------
total&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1

...

SELECT A, B, C FROM TABLE WHERE (OBJECTID = 124);

call&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu&amp;nbsp;&amp;nbsp;&amp;nbsp; elapsed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query&amp;nbsp;&amp;nbsp;&amp;nbsp; current&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows
------- ------&amp;nbsp; -------- ---------- ---------- ---------- ----------&amp;nbsp; ----------
Parse&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0
Execute&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0
Fetch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1
------- ------&amp;nbsp; -------- ---------- ---------- ---------- ----------&amp;nbsp; ----------
total&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1

etc...&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Millions of stats like this are pretty useless. They need to be summarized for every query that follows the pattern "SELECT A, B, C FROM TABLE WHERE (OBJECTID = x)".&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If Oracle bind variables are used, however, the TKPROF output is more helpful. For example:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;INSERT INTO TABLE (A, B, C)
VALUES
 ( :a1, :a2, :a3)

call&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu&amp;nbsp;&amp;nbsp;&amp;nbsp; elapsed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query&amp;nbsp;&amp;nbsp;&amp;nbsp; current&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows
------- ------&amp;nbsp; -------- ---------- ---------- ---------- ----------&amp;nbsp; ----------
Parse&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 687&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0
Execute&amp;nbsp;&amp;nbsp;&amp;nbsp; 687&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.08&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 689&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4851&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 687
Fetch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0
------- ------&amp;nbsp; -------- ---------- ---------- ---------- ----------&amp;nbsp; ----------
total&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1374&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.09&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 689&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4851&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 687&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So the question is: is there any way to force ArcSDE/ArcObjects to use bind variables when constructing Oracle queries?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If not, how do you recommend performance tuning for a long-running geoprocessing routine like this?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:20:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8161#M450</guid>
      <dc:creator>NathanielWingfield</dc:creator>
      <dc:date>2021-12-10T20:20:08Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Tracing &amp; Bind Variables</title>
      <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8162#M451</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello Nathaniel,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Altering your oracle init parameter cursor sharing will accomplish this. It can be done at the session level via a login trigger or via arcobjects. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Alter session set cursor_sharing=similar;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Aside from I noticed that your job gets one row at a time. This will likely be slow even if optimized. I don't know what your process is doing but if the calls can be reduced and commits less frequent it will likely perform better. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anthony&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Feb 2011 11:36:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8162#M451</guid>
      <dc:creator>anthonysanchez</dc:creator>
      <dc:date>2011-02-22T11:36:21Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Tracing &amp; Bind Variables</title>
      <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8163#M452</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Nathaniel,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What long-running geoprocessing task is being run where you see all these queries? Is it a specific tool or several pieces of a larger model? There might be a way to optimize it in the model, or there may be something in a specific gp tool that should be investigated in the core tool on our side.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Feb 2011 14:59:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8163#M452</guid>
      <dc:creator>ForrestJones</dc:creator>
      <dc:date>2011-02-22T14:59:12Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Tracing &amp; Bind Variables</title>
      <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8164#M453</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Altering your oracle init parameter cursor sharing will accomplish this. It can be done at the session level via a login trigger or via arcobjects. &lt;BR /&gt;&lt;BR /&gt;Alter session set cursor_sharing=similar;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It worked! I added this line to my code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;ws.ExecuteSQL("alter session set cursor_sharing = 'similar'");&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now the output looks more like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;SELECT A, B, C FROM TABLE WHERE (OBJECTID = :"SYS_B_0");

call&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu&amp;nbsp;&amp;nbsp;&amp;nbsp; elapsed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query&amp;nbsp;&amp;nbsp;&amp;nbsp; current&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows
------- ------&amp;nbsp; -------- ---------- ---------- ---------- ----------&amp;nbsp; ----------
Parse&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 648&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 169&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0
Execute&amp;nbsp;&amp;nbsp;&amp;nbsp; 648&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0
Fetch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 648&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 819&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3513&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2089
------- ------&amp;nbsp; -------- ---------- ---------- ---------- ----------&amp;nbsp; ----------
total&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1944&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 819&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3682&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2089&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:20:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8164#M453</guid>
      <dc:creator>NathanielWingfield</dc:creator>
      <dc:date>2021-12-10T20:20:11Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Tracing &amp; Bind Variables</title>
      <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8165#M454</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Nathaniel,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That is great it is working now, but you should not have to change that parameter... We should investigate further. Would you be able to open an incident with support or at least describe the tools being used so we can determine why it is occurring, please? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Feb 2011 16:13:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8165#M454</guid>
      <dc:creator>ForrestJones</dc:creator>
      <dc:date>2011-02-22T16:13:20Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Tracing &amp; Bind Variables</title>
      <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8166#M455</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;fojo-&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are not doing geoprocessing with a capital G. Just writing ArcObjects code in ASP.NET/C#. The code is issued against an AGS Geodata service with ArcSDE/Oracle 11g behind it. Maybe this will help:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;conn = new GISServerConnection();
conn.Connect(ConfigurationManager.AppSettings["AGS_HOST"]);
som = conn.ServerObjectManager;

// Get the connection to the database
gdbContext = som.CreateServerContext(ConfigurationManager.AppSettings["geodataService"], "GeodataServer");
geoDataServer = (IGeoDataServer)gdbContext.ServerObject;

// Get the workspace from the table
gdsObjects = (IGeoDataServerObjects)geoDataServer;
gdsWS = gdsObjects.DefaultWorkingWorkspace;
featWS = (IFeatureWorkspace)gdsWS;

// Set tracing parameters
gdsWS.ExecuteSQL("alter session set sql_trace = true");
gdsWS.ExecuteSQL("alter session set tracefile_identifier = 'intdb'");
gdsWS.ExecuteSQL("alter session set cursor_sharing = 'similar'");&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't intend to open a support incident, thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:20:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8166#M455</guid>
      <dc:creator>NathanielWingfield</dc:creator>
      <dc:date>2021-12-10T20:20:14Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Tracing &amp; Bind Variables</title>
      <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8167#M456</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Nathaniel,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ah ok. So after you get the IFeatureWorkspace, how do you query the records? For example are you using an IGeodatabaseBridge.GetFeatures() call or maybe an IFeatureClass.GetFeature(oid) in a loop?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Feb 2011 14:21:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8167#M456</guid>
      <dc:creator>ForrestJones</dc:creator>
      <dc:date>2011-02-23T14:21:36Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Tracing &amp; Bind Variables</title>
      <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8168#M457</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Predominately IFeatureClass.GetFeature(oid) in a loop.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Feb 2011 14:43:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8168#M457</guid>
      <dc:creator>NathanielWingfield</dc:creator>
      <dc:date>2011-02-23T14:43:58Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Tracing &amp; Bind Variables</title>
      <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8169#M458</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok - that probably explains the many queries that aren't using the binds. I would suggest using the IGeodatabaseBridge.GetFeatures() api instead of the IFeatureClass.GetFeature(oid) in a loop. This will run one query with the objectid's needed and improve the performance as well. It will return an IFeatureCursor which can then be used in a loop. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For example:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;

private static void GetFeatureExample(IFeatureClass featureClass, int[] oidList)
{
&amp;nbsp; int nameFieldIndex = featureClass.FindField("NAME");
&amp;nbsp; foreach (int oid in oidList)
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; IFeature feature = featureClass.GetFeature(oid);
&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("NAME: {0}", feature.get_Value(nameFieldIndex));
&amp;nbsp; }
}
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;vs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
private static void GetFeaturesExample(IFeatureClass featureClass, int[]
&amp;nbsp; oidList)
{
&amp;nbsp; int nameFieldIndex = featureClass.FindField("FIPSSTCO");
&amp;nbsp; using(ComReleaser comReleaser = new ComReleaser())
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; IGeoDatabaseBridge geodatabaseBridge = new GeoDatabaseHelperClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp; IFeatureCursor featureCursor = geodatabaseBridge.GetFeatures(featureClass,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ref oidList, true);
&amp;nbsp;&amp;nbsp;&amp;nbsp; comReleaser.ManageLifetime(featureCursor);

&amp;nbsp;&amp;nbsp;&amp;nbsp; IFeature feature = null;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while ((feature = featureCursor.NextFeature()) != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("NAME: {0}", feature.get_Value(nameFieldIndex));
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }
}&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://resources.esri.com/help/9.3/ArcGISEngine/dotnet/09bd8059-f031-4b88-bac8-3b4b73dccb05.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;http://resources.esri.com/help/9.3/ArcGISEngine/dotnet/09bd8059-f031-4b88-bac8-3b4b73dccb05.htm&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:20:16 GMT</pubDate>
      <guid>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8169#M458</guid>
      <dc:creator>ForrestJones</dc:creator>
      <dc:date>2021-12-10T20:20:16Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Tracing &amp; Bind Variables</title>
      <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8170#M459</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Ok - that probably explains the many queries that aren't using the binds. I would suggest using the IGeodatabaseBridge.GetFeatures() api instead of the IFeatureClass.GetFeature(oid) in a loop. This will run one query with the objectid's needed and improve the performance as well. It will return an IFeatureCursor which can then be used in a loop. &lt;BR /&gt;&lt;BR /&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;FJ - this is great.&amp;nbsp; By implementing this would the rdbms result be one query with an IN list in the where clause?&amp;nbsp; If so, performance would be much better from the rdbms perspective.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anthony&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Feb 2011 19:42:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8170#M459</guid>
      <dc:creator>anthonysanchez</dc:creator>
      <dc:date>2011-02-25T19:42:56Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Tracing &amp; Bind Variables</title>
      <link>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8171#M460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Anthony,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, you are correct. An in list will be used and performance would be better than sending multiple queries for every objectid requested. It would also cut down on the round trips to the database.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Feb 2011 21:55:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/data-management-questions/oracle-tracing-amp-bind-variables/m-p/8171#M460</guid>
      <dc:creator>ForrestJones</dc:creator>
      <dc:date>2011-02-25T21:55:58Z</dc:date>
    </item>
  </channel>
</rss>

