<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-4818542164384221282.post8325456154623138723..comments</id><updated>2012-01-25T12:36:23.451+08:00</updated><category term='images'/><category term='Off Topic'/><category term='Oracle Community'/><category term='Performance'/><category term='Outer Joins'/><category term='SQL'/><category term='SQL Injection'/><category term='WITH'/><category term='Regular Expressions'/><category term='SOE'/><category term='PL/SQL'/><category term='Model'/><category term='Automatic Row Fetch'/><category term='10g'/><category term='Syntax Highlighting'/><category term='CLOB'/><category term='Searching'/><category term='Intervals'/><category term='Thursday Thought'/><category term='JDeveloper'/><category term='JQuery'/><category term='Tim Hall'/><category term='RSS'/><category term='ApexLib'/><category term='Apex 4.0'/><category term='LRO'/><category term='Synonyms'/><category term='Scalar Subqueries'/><category term='Tom Kyte'/><category term='11g'/><category term='Networking'/><category term='Debugging'/><category term='Documentation'/><category term='Forms'/><category term='News'/><category term='Google Reader'/><category term='CSS'/><category term='David Peake'/><category term='Bulk Binds'/><category term='Sage'/><category term='Apex 4.1'/><category term='Flashback'/><category term='Best Practices'/><category term='Presentations'/><category term='Sequences'/><category term='Prezi'/><category term='CASE'/><category term='Templates'/><category term='Views'/><category term='Aggregates'/><category term='Apex 4.2'/><category term='Apex'/><category term='SQL Developer'/><category term='SIGN'/><category term='LIKE'/><category term='Shared Components'/><category term='Bind Variables'/><category term='Navigation Bar Entries'/><category term='NVL'/><category term='JavaScript'/><category term='MONTHS_BETWEEN'/><category term='New Features'/><category term='blogging'/><category term='ADD_MONTHS'/><category term='Explain'/><category term='Tuning'/><category term='Twitter'/><category term='Item Attributes'/><category term='Connor McDonald'/><category term='Quick Picks'/><category term='Conditions'/><category term='Email'/><category term='tkprof'/><category term='Review'/><category term='Conditional Compilation'/><category term='9i'/><category term='Returning'/><category term='Tutorial'/><category term='Security'/><category term='Ajax'/><category term='Automatic Row Processing'/><category term='Apollo'/><category term='UNION ALL'/><category term='RESULT_CACHE'/><category term='DUAL'/><category term='Test Cases'/><category term='COALESCE'/><category term='Green Pig'/><category term='Conference'/><category term='Escape'/><category term='Oracle Text'/><category term='Wish List'/><category term='Indexes'/><category term='Obfuscation'/><category term='Format Mask'/><category term='Android'/><category term='Autotrace'/><category term='Apex Listener'/><category term='Cloud'/><category term='Data visualisation'/><category term='Mobile'/><category term='Application Design'/><category term='inaugural'/><category term='Read Only'/><category term='LONG'/><category term='Oracle Mix'/><category term='NVL2'/><category term='PRAGMA'/><category term='Apex 3.x'/><category term='Triggers'/><category term='CREATE TABLE'/><category term='AUSOUG'/><category term='Google'/><category term='Dates'/><category term='InSync'/><category term='DECODE'/><category term='Validation'/><category term='Literals'/><category term='TO_LOB'/><category term='EBS'/><category term='Steven Feuerstein'/><category term='BI Publisher'/><category term='Hardware'/><category term='Friday Fun'/><category term='Patterns'/><category term='Ubuntu'/><category term='Glassfish'/><category term='NULLIF'/><category term='Training'/><title type='text'>Comments on Grassroots Oracle: Apex performance issues with v()</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8325456154623138723/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-4829181288346213851</id><published>2012-01-25T12:36:23.451+08:00</published><updated>2012-01-25T12:36:23.451+08:00</updated><title type='text'>Indeed Mohan, passing parameters to pl/sql modules...</title><content type='html'>Indeed Mohan, passing parameters to pl/sql modules is a good practice for a number of reasons. &lt;br /&gt;&lt;br /&gt;Good to hear you obtain so much performance benefit out of it.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/4829181288346213851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/4829181288346213851'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html?showComment=1327466183451#c4829181288346213851' title=''/><author><name>Scott Wesley</name><uri>http://www.blogger.com/profile/18106937181788036683</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14120555976576085568'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html' ref='tag:blogger.com,1999:blog-4818542164384221282.post-8325456154623138723' source='http://www.blogger.com/feeds/4818542164384221282/posts/default/8325456154623138723' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1789734892'/></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8038689192867060009</id><published>2012-01-24T01:24:31.932+08:00</published><updated>2012-01-24T01:24:31.932+08:00</updated><title type='text'>I agree with Buzz Killington. I practically experi...</title><content type='html'>I agree with Buzz Killington. I practically experienced tremendous performance improvement using package/procedures/functions and passing as parameters.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/8038689192867060009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/8038689192867060009'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html?showComment=1327339471932#c8038689192867060009' title=''/><author><name>Mohan</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html' ref='tag:blogger.com,1999:blog-4818542164384221282.post-8325456154623138723' source='http://www.blogger.com/feeds/4818542164384221282/posts/default/8325456154623138723' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1462804385'/></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-3191781946762981929</id><published>2012-01-12T10:19:12.433+08:00</published><updated>2012-01-12T10:19:12.433+08:00</updated><title type='text'>Hi Luis, I had a great new year, cheers.

That&amp;#39...</title><content type='html'>Hi Luis, I had a great new year, cheers.&lt;br /&gt;&lt;br /&gt;That&amp;#39;s a really good example of when to use v() - I&amp;#39;ve done that myself, quite possibly at your site! &lt;br /&gt;That forum entry is a good one, I&amp;#39;ve been meaning to look into that behaviour myself.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/3191781946762981929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/3191781946762981929'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html?showComment=1326334752433#c3191781946762981929' title=''/><author><name>Scott Wesley</name><uri>http://www.blogger.com/profile/18106937181788036683</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14120555976576085568'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html' ref='tag:blogger.com,1999:blog-4818542164384221282.post-8325456154623138723' source='http://www.blogger.com/feeds/4818542164384221282/posts/default/8325456154623138723' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1789734892'/></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7225029669419592592</id><published>2012-01-12T10:02:42.792+08:00</published><updated>2012-01-12T10:02:42.792+08:00</updated><title type='text'>Hi Wesley

How are things going? Nice post!

I thi...</title><content type='html'>Hi Wesley&lt;br /&gt;&lt;br /&gt;How are things going? Nice post!&lt;br /&gt;&lt;br /&gt;I think that the only cases where you need to use the v() function inside Apex are when you are generating the session item name dynamically and don&amp;#39;t have at compile time the name of the item (e.g. v(&amp;#39;P10_CODE&amp;#39;||i)) or a workaround for this bug (although it seems that it is only me who consider it a bug!):&lt;br /&gt;&lt;br /&gt;https://forums.oracle.com/forums/thread.jspa?messageID=9930990&lt;br /&gt;&lt;br /&gt;Other than that, I don&amp;#39;t see a need to use v(), specially in queries.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Luis</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/7225029669419592592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/7225029669419592592'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html?showComment=1326333762792#c7225029669419592592' title=''/><author><name>Luis</name><uri>http://www.blogger.com/profile/10801377551877341826</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html' ref='tag:blogger.com,1999:blog-4818542164384221282.post-8325456154623138723' source='http://www.blogger.com/feeds/4818542164384221282/posts/default/8325456154623138723' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1988531862'/></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7620719386527502447</id><published>2012-01-12T09:24:23.020+08:00</published><updated>2012-01-12T09:24:23.020+08:00</updated><title type='text'>But I think the question is, do we ever need to us...</title><content type='html'>But I think the question is, do we ever need to use the v() function?&lt;br /&gt;&lt;br /&gt;If we pass actual parameters as bind variables to our pl/sql, and we use bind variables in the apex queries and conditions - the need for deterministic wrappers may be mute.&lt;br /&gt;&lt;br /&gt;So is there ever a &lt;i&gt;need&lt;/i&gt; to use v() ?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/7620719386527502447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/7620719386527502447'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html?showComment=1326331463020#c7620719386527502447' title=''/><author><name>Scott Wesley</name><uri>http://www.blogger.com/profile/18106937181788036683</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14120555976576085568'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html' ref='tag:blogger.com,1999:blog-4818542164384221282.post-8325456154623138723' source='http://www.blogger.com/feeds/4818542164384221282/posts/default/8325456154623138723' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1789734892'/></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-4358192652982211420</id><published>2012-01-11T23:36:23.722+08:00</published><updated>2012-01-11T23:36:23.722+08:00</updated><title type='text'>Hi,
I agree that parameters are the best solution ...</title><content type='html'>Hi,&lt;br /&gt;I agree that parameters are the best solution but if you need/want to use v() function than you can read this link:&lt;br /&gt;http://www.inside-oracle-apex.com/caution-when-using-plsql-functions-in-sql-statement/&lt;br /&gt;&lt;br /&gt;If you decide to use wrapper deterministic function then don&amp;#39;t forget that you have to upgrade your wrapper  with each APEX upgrade.&lt;br /&gt;&lt;br /&gt; Lev</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/4358192652982211420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/4358192652982211420'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html?showComment=1326296183722#c4358192652982211420' title=''/><author><name>Unknown</name><uri>http://www.blogger.com/profile/07738586409100836666</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html' ref='tag:blogger.com,1999:blog-4818542164384221282.post-8325456154623138723' source='http://www.blogger.com/feeds/4818542164384221282/posts/default/8325456154623138723' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1861272158'/></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2517399588394863104</id><published>2012-01-11T23:04:39.709+08:00</published><updated>2012-01-11T23:04:39.709+08:00</updated><title type='text'>Good point, buzz. I was so focused on the bind var...</title><content type='html'>Good point, buzz. I was so focused on the bind variable issue, I forgot about that.&lt;br /&gt;&lt;br /&gt;I&amp;#39;ve found so much value in sending them as parameters - makes testing &amp;amp; debugging so much easier.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/2517399588394863104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/2517399588394863104'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html?showComment=1326294279709#c2517399588394863104' title=''/><author><name>Scott Wesley</name><uri>http://www.blogger.com/profile/18106937181788036683</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14120555976576085568'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html' ref='tag:blogger.com,1999:blog-4818542164384221282.post-8325456154623138723' source='http://www.blogger.com/feeds/4818542164384221282/posts/default/8325456154623138723' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1789734892'/></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-1792338457688218412</id><published>2012-01-11T22:14:28.464+08:00</published><updated>2012-01-11T22:14:28.464+08:00</updated><title type='text'>I still think the best practice is to use packages...</title><content type='html'>I still think the best practice is to use packages/procedures/function and pass everything in as parameters.  Then you don&amp;#39;t have a need to use v().  Not saying you&amp;#39;ll never need v(), but it cuts down on its usage a bunch</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/1792338457688218412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/8325456154623138723/comments/default/1792338457688218412'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html?showComment=1326291268464#c1792338457688218412' title=''/><author><name>Buzz Killington</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html' ref='tag:blogger.com,1999:blog-4818542164384221282.post-8325456154623138723' source='http://www.blogger.com/feeds/4818542164384221282/posts/default/8325456154623138723' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-604986821'/></entry></feed>
