<?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: Adding Comments to SQL Statements Improves Performance?</title>
	<atom:link href="http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/</link>
	<description>Miscellaneous Random Oracle Topics: Stop, Think, ... Understand</description>
	<lastBuildDate>Thu, 23 May 2013 04:02:42 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: State of Data Last Week &#8211; #32 &#171; Dr Data&#039;s Blog</title>
		<link>http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/#comment-2723</link>
		<dc:creator><![CDATA[State of Data Last Week &#8211; #32 &#171; Dr Data&#039;s Blog]]></dc:creator>
		<pubDate>Sat, 22 Jan 2011 21:43:21 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4267#comment-2723</guid>
		<description><![CDATA[[...] SQL code is not only a good practice, comments could also improve SQL performance. What?? No, really – here is a use case. It’s a trick, read on the comments if the rationale [...]]]></description>
		<content:encoded><![CDATA[<p>[...] SQL code is not only a good practice, comments could also improve SQL performance. What?? No, really – here is a use case. It’s a trick, read on the comments if the rationale [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/#comment-2700</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Mon, 17 Jan 2011 12:23:49 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4267#comment-2700</guid>
		<description><![CDATA[Kerry,

Thank you for the tip regarding including comments in hint blocks, and the suggested work-around for that problem.  By the way, chapter 16 of the book is excellent - one of the best chapters in the book.]]></description>
		<content:encoded><![CDATA[<p>Kerry,</p>
<p>Thank you for the tip regarding including comments in hint blocks, and the suggested work-around for that problem.  By the way, chapter 16 of the book is excellent &#8211; one of the best chapters in the book.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kerry Osborne</title>
		<link>http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/#comment-2691</link>
		<dc:creator><![CDATA[Kerry Osborne]]></dc:creator>
		<pubDate>Mon, 17 Jan 2011 03:07:26 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4267#comment-2691</guid>
		<description><![CDATA[Well I think you guys have it all figured out already. Keywords in a hint can cause the valid hints to be ignored. The suggestion in the book was &quot;Just don&#039;t do it&quot;. Put your comments in a a separate comment construct. Like so. 

/*+ full(a) */ /* This is where the comment goes ... */ 

Since there are about a billion keywords (some of which are not documented or well known) and since Oracle can add a new one any time they want, It&#039;s just best not to try to mix hints and comments in the same structure. I hadn&#039;t seen that MOS note though so that was nice verification as to what I had observed and assumed to be true.]]></description>
		<content:encoded><![CDATA[<p>Well I think you guys have it all figured out already. Keywords in a hint can cause the valid hints to be ignored. The suggestion in the book was &#8220;Just don&#8217;t do it&#8221;. Put your comments in a a separate comment construct. Like so. </p>
<p>/*+ full(a) */ /* This is where the comment goes &#8230; */ </p>
<p>Since there are about a billion keywords (some of which are not documented or well known) and since Oracle can add a new one any time they want, It&#8217;s just best not to try to mix hints and comments in the same structure. I hadn&#8217;t seen that MOS note though so that was nice verification as to what I had observed and assumed to be true.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ignoring hints &#171; Oracle Scratchpad</title>
		<link>http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/#comment-2690</link>
		<dc:creator><![CDATA[Ignoring hints &#171; Oracle Scratchpad]]></dc:creator>
		<pubDate>Sun, 16 Jan 2011 22:32:19 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4267#comment-2690</guid>
		<description><![CDATA[[...] Thanks to Timur Akhmadeev for telling us about bug 8432870 (you&#8217;ll need an account on MOS for the link) in his reply to Charles Hooper&#8217;s recent post. [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Thanks to Timur Akhmadeev for telling us about bug 8432870 (you&#8217;ll need an account on MOS for the link) in his reply to Charles Hooper&#8217;s recent post. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martin Preiss</title>
		<link>http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/#comment-2688</link>
		<dc:creator><![CDATA[Martin Preiss]]></dc:creator>
		<pubDate>Sun, 16 Jan 2011 18:39:59 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4267#comment-2688</guid>
		<description><![CDATA[with regard to the single letters I looked for elements in dba_tab_columns and dba_objects with length=1 and found some of them (&#039;A&#039;, &#039;D&#039;) - but the creation of a new table with a column named &#039;B&#039; does not change the result; and of course the signs : ; , . - are not found there.

&quot;Oracle Database does not yet understand French&quot; - perhaps the hints have also to be translated according to the loi toubon: http://en.wikipedia.org/wiki/Toubon_Law :-)]]></description>
		<content:encoded><![CDATA[<p>with regard to the single letters I looked for elements in dba_tab_columns and dba_objects with length=1 and found some of them (&#8216;A&#8217;, &#8216;D&#8217;) &#8211; but the creation of a new table with a column named &#8216;B&#8217; does not change the result; and of course the signs : ; , . &#8211; are not found there.</p>
<p>&#8220;Oracle Database does not yet understand French&#8221; &#8211; perhaps the hints have also to be translated according to the loi toubon: <a href="http://en.wikipedia.org/wiki/Toubon_Law" rel="nofollow">http://en.wikipedia.org/wiki/Toubon_Law</a> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/#comment-2687</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Sun, 16 Jan 2011 17:41:52 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4267#comment-2687</guid>
		<description><![CDATA[Doc ID 826893.1 is an interesting, and very helpful document - thank you for finding that.  Very likely this document is supposed to explain the behavior.

However, item number 2 below the CAUSE heading suggests that these might be SQL keywords based on other comments attached to this article:
* FAST
* PERFORMANCE
* COMMENT (OK, that is a keyword, so it is addressed by item number 2 in the article)
* :
* A
* D
 
Additionally, based on the comment left by nedoboi, we see that Oracle Database does not yet understand French - maybe that is a bug coming to version 12.1?  :-)]]></description>
		<content:encoded><![CDATA[<p>Doc ID 826893.1 is an interesting, and very helpful document &#8211; thank you for finding that.  Very likely this document is supposed to explain the behavior.</p>
<p>However, item number 2 below the CAUSE heading suggests that these might be SQL keywords based on other comments attached to this article:<br />
* FAST<br />
* PERFORMANCE<br />
* COMMENT (OK, that is a keyword, so it is addressed by item number 2 in the article)<br />
* :<br />
* A<br />
* D</p>
<p>Additionally, based on the comment left by nedoboi, we see that Oracle Database does not yet understand French &#8211; maybe that is a bug coming to version 12.1?  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Timur Akhmadeev</title>
		<link>http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/#comment-2686</link>
		<dc:creator><![CDATA[Timur Akhmadeev]]></dc:creator>
		<pubDate>Sun, 16 Jan 2011 14:44:34 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4267#comment-2686</guid>
		<description><![CDATA[Most likely it happens due to change in behavior of the query parser described in the &lt;a href=&quot;https://support.oracle.com/CSP/main/article?cmd=show&amp;type=NOT&amp;doctype=PROBLEM&amp;id=826893.1&quot; rel=&quot;nofollow&quot;&gt;Doc ID 826893.1&lt;/a&gt;.]]></description>
		<content:encoded><![CDATA[<p>Most likely it happens due to change in behavior of the query parser described in the <a href="https://support.oracle.com/CSP/main/article?cmd=show&amp;type=NOT&amp;doctype=PROBLEM&amp;id=826893.1" rel="nofollow">Doc ID 826893.1</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martin Preiss</title>
		<link>http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/#comment-2685</link>
		<dc:creator><![CDATA[Martin Preiss]]></dc:creator>
		<pubDate>Sun, 16 Jan 2011 09:21:03 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4267#comment-2685</guid>
		<description><![CDATA[Charles,
it seems that even a single letter can disable a following hint - but not every letter:
[code]
-- Results from 11.2.0.1
SQL&gt; SELECT /*+ a LEADING(T1) USE_NL(T2) */
  2    T1.C1,
  3    T1.C2,
  4    T2.C1,
  5    T2.C2
  6  FROM
  7    T1,
  8    T2
  9  WHERE
 10    T1.C1=T2.C1;
Abgelaufen: 00:00:00.00

Ausf³hrungsplan
----------------------------------------------------------
Plan hash value: 2959412835

-----------------------------------------------------------------------------------
&#124; Id  &#124; Operation          &#124; Name &#124; Rows  &#124; Bytes &#124;TempSpc&#124; Cost (%CPU)&#124; Time     &#124;
-----------------------------------------------------------------------------------
&#124;   0 &#124; SELECT STATEMENT   &#124;      &#124;   500K&#124;  9765K&#124;       &#124; 14175   (1)&#124; 00:02:51 &#124;
&#124;*  1 &#124;  HASH JOIN         &#124;      &#124;   500K&#124;  9765K&#124;    10M&#124; 14175   (1)&#124; 00:02:51 &#124;
&#124;   2 &#124;   TABLE ACCESS FULL&#124; T2   &#124;   500K&#124;  4882K&#124;       &#124;  4124   (1)&#124; 00:00:50 &#124;
&#124;   3 &#124;   TABLE ACCESS FULL&#124; T1   &#124;  1000K&#124;  9765K&#124;       &#124;  8481   (1)&#124; 00:01:42 &#124;
-----------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - access(&quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;)

SQL&gt; r
  1  SELECT /*+ b LEADING(T1) USE_NL(T2) */
  2    T1.C1,
  3    T1.C2,
  4    T2.C1,
  5    T2.C2
  6  FROM
  7    T1,
  8    T2
  9  WHERE
 10*   T1.C1=T2.C1
Abgelaufen: 00:00:00.00

Ausf³hrungsplan
----------------------------------------------------------
Plan hash value: 2984486645

---------------------------------------------------------------------------------------------
&#124; Id  &#124; Operation                    &#124; Name         &#124; Rows  &#124; Bytes &#124; Cost (%CPU)&#124; Time     &#124;
---------------------------------------------------------------------------------------------
&#124;   0 &#124; SELECT STATEMENT             &#124;              &#124;   500K&#124;  9765K&#124;  1508K  (1)&#124; 05:01:47 &#124;
&#124;   1 &#124;  NESTED LOOPS                &#124;              &#124;       &#124;       &#124;            &#124;          &#124;
&#124;   2 &#124;   NESTED LOOPS               &#124;              &#124;   500K&#124;  9765K&#124;  1508K  (1)&#124; 05:01:47 &#124;
&#124;   3 &#124;    TABLE ACCESS FULL         &#124; T1           &#124;  1000K&#124;  9765K&#124;  8481   (1)&#124; 00:01:42 &#124;
&#124;*  4 &#124;    INDEX UNIQUE SCAN         &#124; SYS_C0010667 &#124;     1 &#124;       &#124;     1   (0)&#124; 00:00:01 &#124;
&#124;   5 &#124;   TABLE ACCESS BY INDEX ROWID&#124; T2           &#124;     1 &#124;    10 &#124;     2   (0)&#124; 00:00:01 &#124;
---------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   4 - access(&quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;)

SQL&gt; r
  1  SELECT /*+ c LEADING(T1) USE_NL(T2) */
  2    T1.C1,
  3    T1.C2,
  4    T2.C1,
  5    T2.C2
  6  FROM
  7    T1,
  8    T2
  9  WHERE
 10*   T1.C1=T2.C1
Abgelaufen: 00:00:00.00

Ausf³hrungsplan
----------------------------------------------------------
Plan hash value: 2984486645

---------------------------------------------------------------------------------------------
&#124; Id  &#124; Operation                    &#124; Name         &#124; Rows  &#124; Bytes &#124; Cost (%CPU)&#124; Time     &#124;
---------------------------------------------------------------------------------------------
&#124;   0 &#124; SELECT STATEMENT             &#124;              &#124;   500K&#124;  9765K&#124;  1508K  (1)&#124; 05:01:47 &#124;
&#124;   1 &#124;  NESTED LOOPS                &#124;              &#124;       &#124;       &#124;            &#124;          &#124;
&#124;   2 &#124;   NESTED LOOPS               &#124;              &#124;   500K&#124;  9765K&#124;  1508K  (1)&#124; 05:01:47 &#124;
&#124;   3 &#124;    TABLE ACCESS FULL         &#124; T1           &#124;  1000K&#124;  9765K&#124;  8481   (1)&#124; 00:01:42 &#124;
&#124;*  4 &#124;    INDEX UNIQUE SCAN         &#124; SYS_C0010667 &#124;     1 &#124;       &#124;     1   (0)&#124; 00:00:01 &#124;
&#124;   5 &#124;   TABLE ACCESS BY INDEX ROWID&#124; T2           &#124;     1 &#124;    10 &#124;     2   (0)&#124; 00:00:01 &#124;
---------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   4 - access(&quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;)

SQL&gt; r
  1  SELECT /*+ d LEADING(T1) USE_NL(T2) */
  2    T1.C1,
  3    T1.C2,
  4    T2.C1,
  5    T2.C2
  6  FROM
  7    T1,
  8    T2
  9  WHERE
 10*   T1.C1=T2.C1
Abgelaufen: 00:00:00.00

Ausf³hrungsplan
----------------------------------------------------------
Plan hash value: 2959412835

-----------------------------------------------------------------------------------
&#124; Id  &#124; Operation          &#124; Name &#124; Rows  &#124; Bytes &#124;TempSpc&#124; Cost (%CPU)&#124; Time     &#124;
-----------------------------------------------------------------------------------
&#124;   0 &#124; SELECT STATEMENT   &#124;      &#124;   500K&#124;  9765K&#124;       &#124; 14175   (1)&#124; 00:02:51 &#124;
&#124;*  1 &#124;  HASH JOIN         &#124;      &#124;   500K&#124;  9765K&#124;    10M&#124; 14175   (1)&#124; 00:02:51 &#124;
&#124;   2 &#124;   TABLE ACCESS FULL&#124; T2   &#124;   500K&#124;  4882K&#124;       &#124;  4124   (1)&#124; 00:00:50 &#124;
&#124;   3 &#124;   TABLE ACCESS FULL&#124; T1   &#124;  1000K&#124;  9765K&#124;       &#124;  8481   (1)&#124; 00:01:42 &#124;
-----------------------------------------------------------------------------------
[/code]
At first I began to think about vovels and consonants - but that theory died soon... 
The hints are also invalidated by other leading signs (,.-;) and by reserved words (or, and, table).]]></description>
		<content:encoded><![CDATA[<p>Charles,<br />
it seems that even a single letter can disable a following hint &#8211; but not every letter:</p>
<pre class="brush: plain; title: ; notranslate">
-- Results from 11.2.0.1
SQL&gt; SELECT /*+ a LEADING(T1) USE_NL(T2) */
  2    T1.C1,
  3    T1.C2,
  4    T2.C1,
  5    T2.C2
  6  FROM
  7    T1,
  8    T2
  9  WHERE
 10    T1.C1=T2.C1;
Abgelaufen: 00:00:00.00

Ausf³hrungsplan
----------------------------------------------------------
Plan hash value: 2959412835

-----------------------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
-----------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |      |   500K|  9765K|       | 14175   (1)| 00:02:51 |
|*  1 |  HASH JOIN         |      |   500K|  9765K|    10M| 14175   (1)| 00:02:51 |
|   2 |   TABLE ACCESS FULL| T2   |   500K|  4882K|       |  4124   (1)| 00:00:50 |
|   3 |   TABLE ACCESS FULL| T1   |  1000K|  9765K|       |  8481   (1)| 00:01:42 |
-----------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - access(&quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;)

SQL&gt; r
  1  SELECT /*+ b LEADING(T1) USE_NL(T2) */
  2    T1.C1,
  3    T1.C2,
  4    T2.C1,
  5    T2.C2
  6  FROM
  7    T1,
  8    T2
  9  WHERE
 10*   T1.C1=T2.C1
Abgelaufen: 00:00:00.00

Ausf³hrungsplan
----------------------------------------------------------
Plan hash value: 2984486645

---------------------------------------------------------------------------------------------
| Id  | Operation                    | Name         | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |              |   500K|  9765K|  1508K  (1)| 05:01:47 |
|   1 |  NESTED LOOPS                |              |       |       |            |          |
|   2 |   NESTED LOOPS               |              |   500K|  9765K|  1508K  (1)| 05:01:47 |
|   3 |    TABLE ACCESS FULL         | T1           |  1000K|  9765K|  8481   (1)| 00:01:42 |
|*  4 |    INDEX UNIQUE SCAN         | SYS_C0010667 |     1 |       |     1   (0)| 00:00:01 |
|   5 |   TABLE ACCESS BY INDEX ROWID| T2           |     1 |    10 |     2   (0)| 00:00:01 |
---------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   4 - access(&quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;)

SQL&gt; r
  1  SELECT /*+ c LEADING(T1) USE_NL(T2) */
  2    T1.C1,
  3    T1.C2,
  4    T2.C1,
  5    T2.C2
  6  FROM
  7    T1,
  8    T2
  9  WHERE
 10*   T1.C1=T2.C1
Abgelaufen: 00:00:00.00

Ausf³hrungsplan
----------------------------------------------------------
Plan hash value: 2984486645

---------------------------------------------------------------------------------------------
| Id  | Operation                    | Name         | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |              |   500K|  9765K|  1508K  (1)| 05:01:47 |
|   1 |  NESTED LOOPS                |              |       |       |            |          |
|   2 |   NESTED LOOPS               |              |   500K|  9765K|  1508K  (1)| 05:01:47 |
|   3 |    TABLE ACCESS FULL         | T1           |  1000K|  9765K|  8481   (1)| 00:01:42 |
|*  4 |    INDEX UNIQUE SCAN         | SYS_C0010667 |     1 |       |     1   (0)| 00:00:01 |
|   5 |   TABLE ACCESS BY INDEX ROWID| T2           |     1 |    10 |     2   (0)| 00:00:01 |
---------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   4 - access(&quot;T1&quot;.&quot;C1&quot;=&quot;T2&quot;.&quot;C1&quot;)

SQL&gt; r
  1  SELECT /*+ d LEADING(T1) USE_NL(T2) */
  2    T1.C1,
  3    T1.C2,
  4    T2.C1,
  5    T2.C2
  6  FROM
  7    T1,
  8    T2
  9  WHERE
 10*   T1.C1=T2.C1
Abgelaufen: 00:00:00.00

Ausf³hrungsplan
----------------------------------------------------------
Plan hash value: 2959412835

-----------------------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
-----------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |      |   500K|  9765K|       | 14175   (1)| 00:02:51 |
|*  1 |  HASH JOIN         |      |   500K|  9765K|    10M| 14175   (1)| 00:02:51 |
|   2 |   TABLE ACCESS FULL| T2   |   500K|  4882K|       |  4124   (1)| 00:00:50 |
|   3 |   TABLE ACCESS FULL| T1   |  1000K|  9765K|       |  8481   (1)| 00:01:42 |
-----------------------------------------------------------------------------------
</pre>
<p>At first I began to think about vovels and consonants &#8211; but that theory died soon&#8230;<br />
The hints are also invalidated by other leading signs (,.-;) and by reserved words (or, and, table).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nedoboi</title>
		<link>http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/#comment-2683</link>
		<dc:creator><![CDATA[nedoboi]]></dc:creator>
		<pubDate>Sun, 16 Jan 2011 02:24:53 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4267#comment-2683</guid>
		<description><![CDATA[Unfortunately this technique doesn&#039;t seem to work if you comment in French -

&lt;pre&gt;
SELECT /*+ Essayez un nouveau navigateur avec traduction automatique LEADING(T1) USE_NL(T2) */
  T1.C1,
  T1.C2,
  T2.C1,
  T2.C2
FROM
  T1,
  T2
WHERE
  T1.C1=T2.C1;

Execution Plan
----------------------------------------------------------
Plan hash value: 8645535281

---------------------------------------------------------------------------------------------
&#124; Id  &#124; Operation                    &#124; Name         &#124; Rows  &#124; Bytes &#124; Cost (%CPU)&#124; Time     &#124;
---------------------------------------------------------------------------------------------
&#124;   0 &#124; SELECT STATEMENT             &#124;              &#124;   500K&#124;  9765K&#124;  1508K  (1)&#124; 05:01:47 &#124;
&#124;   1 &#124;  NESTED LOOPS                &#124;              &#124;       &#124;       &#124;            &#124;          &#124;
&#124;   2 &#124;   NESTED LOOPS               &#124;              &#124;   500K&#124;  9765K&#124;  1508K  (1)&#124; 05:01:47 &#124;
&#124;   3 &#124;    TABLE ACCESS FULL         &#124; T1           &#124;  1000K&#124;  9765K&#124;  8279   (1)&#124; 00:01:40 &#124;
&#124;*  4 &#124;    INDEX UNIQUE SCAN         &#124; SYS_C0011891 &#124;     1 &#124;       &#124;     1   (0)&#124; 00:00:01 &#124;
&#124;   5 &#124;   TABLE ACCESS BY INDEX ROWID&#124; T2           &#124;     1 &#124;    10 &#124;     2   (0)&#124; 00:00:01 &#124;
---------------------------------------------------------------------------------------------
&lt;/pre&gt;]]></description>
		<content:encoded><![CDATA[<p>Unfortunately this technique doesn&#8217;t seem to work if you comment in French -</p>
<pre>
SELECT /*+ Essayez un nouveau navigateur avec traduction automatique LEADING(T1) USE_NL(T2) */
  T1.C1,
  T1.C2,
  T2.C1,
  T2.C2
FROM
  T1,
  T2
WHERE
  T1.C1=T2.C1;

Execution Plan
----------------------------------------------------------
Plan hash value: 8645535281

---------------------------------------------------------------------------------------------
| Id  | Operation                    | Name         | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |              |   500K|  9765K|  1508K  (1)| 05:01:47 |
|   1 |  NESTED LOOPS                |              |       |       |            |          |
|   2 |   NESTED LOOPS               |              |   500K|  9765K|  1508K  (1)| 05:01:47 |
|   3 |    TABLE ACCESS FULL         | T1           |  1000K|  9765K|  8279   (1)| 00:01:40 |
|*  4 |    INDEX UNIQUE SCAN         | SYS_C0011891 |     1 |       |     1   (0)| 00:00:01 |
|   5 |   TABLE ACCESS BY INDEX ROWID| T2           |     1 |    10 |     2   (0)| 00:00:01 |
---------------------------------------------------------------------------------------------
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2011/01/15/adding-comments-to-sql-statements-improves-performance/#comment-2681</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Sat, 15 Jan 2011 23:15:37 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=4267#comment-2681</guid>
		<description><![CDATA[Coskan,
I am hoping that the author of chapter 16 can explain what is happening.  Strange things happen when you tell the optimizer that you want FAST PERFORMANCE - see my reply to Martin Preiss below.]]></description>
		<content:encoded><![CDATA[<p>Coskan,<br />
I am hoping that the author of chapter 16 can explain what is happening.  Strange things happen when you tell the optimizer that you want FAST PERFORMANCE &#8211; see my reply to Martin Preiss below.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
