OSDN Git Service

オブジェクト名に関する記述を整理した。
authorShigeru Hanada <shigeru.hanada@gmail.com>
Mon, 16 Apr 2012 10:26:58 +0000 (19:26 +0900)
committerShigeru Hanada <shigeru.hanada@gmail.com>
Mon, 16 Apr 2012 10:26:58 +0000 (19:26 +0900)
オブジェクト名の重複に関する記述は「使用上の注意と制約」にあるので
「使い方」からは削除した。また、「使用上の注意と制約」のオブジェクト名
に関する項目が長くなっていたので、二つに分割した。

doc/pg_hint_plan-ja.html

index dd6c139..68815c1 100755 (executable)
@@ -87,7 +87,7 @@ LOAD
 postgres=# </pre>
 
 <h3 id="hint-rule">ヒントの記述方法</h3>
-<p>ã\83\92ã\83³ã\83\88ã\81¯ã\82¯ã\82¨ã\83ªã\81®å\89\8dã\81®ã\83\96ã\83­ã\83\83ã\82¯ã\82³ã\83¡ã\83³ã\83\88å\86\85ã\81«ã\80\81ã\82¹ã\83\9aã\83¼ã\82¹ã\80\81ã\82¿ã\83\96ã\81¾ã\81\9fã\81¯æ\94¹è¡\8cã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81§å\8cºå\88\87ã\81£ã\81¦è¨\98è¿°ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82ã\83\92ã\83³ã\83\88ã\81®å¯¾è±¡ã\81\8cã\83\86ã\83¼ã\83\96ã\83«ã\81®å ´å\90\88ã\81¯ã\80\81ã\83\86ã\83¼ã\83\96ã\83«å\90\8dã\81¾ã\81\9fã\81¯å\88¥å\90\8d\82¨ã\82¤ã\83ªã\82¢ã\82¹)ã\81§æ\8c\87å®\9aã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82ã\81\9fã\81 ã\81\97ã\80\81ã\82¹ã\82­ã\83¼ã\83\9eã\81\8cç\95°ã\81ªã\82\8bå\90\8cã\81\98å\90\8då\89\8dã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\82\92\82¯ã\82¨ã\83ªä¸­ã\81«ç\94¨ã\81\84ã\82\8bå ´å\90\88ã\81¯ã\80\81å\88¥å\90\8dã\81§æ\8c\87å®\9aã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82ã\81\93ã\82\8cã\81¯ã\80\81ã\82¯ã\82¨ã\83ªä¸­ã\81®ç\89¹å®\9aã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\82\92æ\8c\87å®\9aã\81§ã\81\8dã\82\8bã\82\88ã\81\86ã\81«ã\81\99ã\82\8bã\81\9fã\82\81ã\81§ã\81\99。</p>
+<p>ã\83\92ã\83³ã\83\88ã\81¯ã\82¯ã\82¨ã\83ªã\81®å\89\8dã\81®ã\83\96ã\83­ã\83\83ã\82¯ã\82³ã\83¡ã\83³ã\83\88å\86\85ã\81«ã\80\81ã\82¹ã\83\9aã\83¼ã\82¹ã\80\81ã\82¿ã\83\96ã\81¾ã\81\9fã\81¯æ\94¹è¡\8cã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81§å\8cºå\88\87ã\81£ã\81¦è¨\98è¿°ã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82ã\83\92ã\83³ã\83\88ã\81®å¯¾è±¡ã\81¯ã\80\81ã\82«ã\83\83ã\82³å\86\85ã\81«ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88å\90\8dã\81¾ã\81\9fã\81¯å\88¥å\90\8d\82¨ã\82¤ã\83ªã\82¢ã\82¹)ã\81§æ\8c\87å®\9aã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84。</p>
 
 <p>以下の例では、HashJoinとSeqScanヒントにより、pgbench_accountsテーブルに対するSeq Scanの結果をHash Joinする実行計画が選択されています。</p>
 <pre>
@@ -174,8 +174,11 @@ postgres-#   ORDER BY a.aid;
 
 postgres=# </pre>
 </dd>
-<dt>オブジェクト名の指定方法</dt>
-<dd><p>ヒント対象のオブジェクト名に小文字とアンダースコア(_)以外の文字(大文字、数字、空白スペースなど)を含む場合は、ダブルクォート(")で囲んでください。</p><p>また、クエリ中に同一名称のテーブルが複数回出現する場合(スキーマ違いや同一テーブルの複数回使用など)は、テーブルに別名をつけてそれぞれのテーブルを区別してください。以下の例の1つ目のSQL文では、MergeJoin(t1 t1)をヒントに指定したとき、ヒント対象のオブジェクトが特定できずにエラーになっています。2つ目のSQL文では、各テーブルにptやstという別名をつけているため、実行計画作成時にヒントで指定した通りにMerge Joinを選択しています。
+<dt>オブジェクト名の引用</dt>
+<dd><p>ヒント対象のオブジェクト名に小文字とアンダースコア(_)以外の文字(大文字、数字、空白スペースなど)を含む場合は、ダブルクォート(")で囲んでください。</p>
+</dd>
+<dt>同一名称テーブルの区別</dt>
+<dd>スキーマ違いや同一テーブルの複数回使用などでクエリ中に同一名称のテーブルが複数回出現する場合は、テーブルに別名をつけてそれぞれのテーブルを区別してください。以下の例の1つ目のSQL文では、MergeJoin(t1 t1)をヒントに指定したとき、ヒント対象のオブジェクトが特定できずにエラーになっています。2つ目のSQL文では、各テーブルにptやstという別名をつけているため、実行計画作成時にヒントで指定した通りにMerge Joinを選択しています。
 </p>
 <pre>
 postgres=# /* <span class="strong">MergeJoin(t1 t1)</span>*/