<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: ReUse in App Engines</title>
	<atom:link href="http://peoplesofttipster.com/2007/07/31/reuse-in-app-engines/feed/" rel="self" type="application/rss+xml" />
	<link>http://peoplesofttipster.com/2007/07/31/reuse-in-app-engines/</link>
	<description>Tips and Tricks with a PeopleSoft slant</description>
	<lastBuildDate>Mon, 06 Sep 2010 13:59:44 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Shared Pool &#171; PeopleSoft Tipster</title>
		<link>http://peoplesofttipster.com/2007/07/31/reuse-in-app-engines/#comment-580</link>
		<dc:creator>Shared Pool &#171; PeopleSoft Tipster</dc:creator>
		<pubDate>Thu, 13 Dec 2007 21:06:13 +0000</pubDate>
		<guid isPermaLink="false">http://peoplesofttipster.com/2007/07/31/reuse-in-app-engines/#comment-580</guid>
		<description>[...] Shared&#160;Pool December 13, 2007 Posted by PeopleSoft Tipster in Oracle, PeopleSoft, SQL.  trackback  Oracle Databases contain a &#8217;shared pool&#8217;, which is a repository for recently run SQL. If you attempt to execute the same piece of SQL repeatedly you&#8217;ll probably notice that the execution time decreases, this is because of how Oracle parses the SQL (i.e. it&#8217;s a soft parse, not a hard parse) and the execution plan is already calculated for the SQL. I&#8217;ve spoken about this before in an App Engine context here. [...]</description>
		<content:encoded><![CDATA[<p>[...] Shared&nbsp;Pool December 13, 2007 Posted by PeopleSoft Tipster in Oracle, PeopleSoft, SQL.  trackback  Oracle Databases contain a &#8217;shared pool&#8217;, which is a repository for recently run SQL. If you attempt to execute the same piece of SQL repeatedly you&#8217;ll probably notice that the execution time decreases, this is because of how Oracle parses the SQL (i.e. it&#8217;s a soft parse, not a hard parse) and the execution plan is already calculated for the SQL. I&#8217;ve spoken about this before in an App Engine context here. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Kurtz</title>
		<link>http://peoplesofttipster.com/2007/07/31/reuse-in-app-engines/#comment-259</link>
		<dc:creator>David Kurtz</dc:creator>
		<pubDate>Sat, 11 Aug 2007 21:05:43 +0000</pubDate>
		<guid isPermaLink="false">http://peoplesofttipster.com/2007/07/31/reuse-in-app-engines/#comment-259</guid>
		<description>ReUse can be very useful, and it is a great pity that PeopleSoft does not make more use of it in the delivered processes.  Using binds instead of literals is nearly always a good thing in a database because it reduces hard parse.  Similar statements with different literals are different statements and they have to be parsed (unless you use cursor sharing which is a rather blunt instrument and can cause other problems).

If you are using a Unicode on Oracle RDBMS on PeopleSoft applications prior to v9, you will have length checking constraints on all your character columns.  The constraints (in sys.cdef$) are not cached in the memory by the database and have to be re-queried during every hard parse.  This can produce a huge overhead during AE batch programs.  Financials systems are particularly affected.  ReUse inside Loops in AE can significantly reduce parse overhead.  This problem goes away in v9 apps when character semantics are introduced.  But binds variables are still recommended.

However, in Oracle it is sometimes possible to get problems with bind variable peeking (this is when Oracle looks at the bind variable values during the parse phase).  If the bind values during parse are not typical you may an unexpected execution plan, and then you carry on using it for all executions of the SQL statement.

However, the problem with introducing this into vanilla code is that enabling ReUse is a customisation, that must be tested and released like any other customisation - and it is your responsibility if there is a problem, no PeopleSoft/Oracle&#039;s.</description>
		<content:encoded><![CDATA[<p>ReUse can be very useful, and it is a great pity that PeopleSoft does not make more use of it in the delivered processes.  Using binds instead of literals is nearly always a good thing in a database because it reduces hard parse.  Similar statements with different literals are different statements and they have to be parsed (unless you use cursor sharing which is a rather blunt instrument and can cause other problems).</p>
<p>If you are using a Unicode on Oracle RDBMS on PeopleSoft applications prior to v9, you will have length checking constraints on all your character columns.  The constraints (in sys.cdef$) are not cached in the memory by the database and have to be re-queried during every hard parse.  This can produce a huge overhead during AE batch programs.  Financials systems are particularly affected.  ReUse inside Loops in AE can significantly reduce parse overhead.  This problem goes away in v9 apps when character semantics are introduced.  But binds variables are still recommended.</p>
<p>However, in Oracle it is sometimes possible to get problems with bind variable peeking (this is when Oracle looks at the bind variable values during the parse phase).  If the bind values during parse are not typical you may an unexpected execution plan, and then you carry on using it for all executions of the SQL statement.</p>
<p>However, the problem with introducing this into vanilla code is that enabling ReUse is a customisation, that must be tested and released like any other customisation &#8211; and it is your responsibility if there is a problem, no PeopleSoft/Oracle&#8217;s.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek</title>
		<link>http://peoplesofttipster.com/2007/07/31/reuse-in-app-engines/#comment-252</link>
		<dc:creator>Derek</dc:creator>
		<pubDate>Thu, 09 Aug 2007 18:55:50 +0000</pubDate>
		<guid isPermaLink="false">http://peoplesofttipster.com/2007/07/31/reuse-in-app-engines/#comment-252</guid>
		<description>Thanks for posting this. I applied it to one of my processes and it cut a section down from 20 minutes to about 6. A nice gain! Thanks Again..</description>
		<content:encoded><![CDATA[<p>Thanks for posting this. I applied it to one of my processes and it cut a section down from 20 minutes to about 6. A nice gain! Thanks Again..</p>
]]></content:encoded>
	</item>
</channel>
</rss>
