OSDN Git Service

マニュアルのヒント用テーブルの使用方法の説明をよりわかりやすくした。
authorTakashi Suzuki <suzuki.takashi@metrosystems.co.jp>
Fri, 9 Aug 2013 01:21:53 +0000 (10:21 +0900)
committerTakashi Suzuki <suzuki.takashi@metrosystems.co.jp>
Fri, 9 Aug 2013 01:21:53 +0000 (10:21 +0900)
doc/pg_hint_plan-ja.html

index 50d01d2..3580528 100644 (file)
@@ -110,7 +110,7 @@ postgres=#
 </tr></thead>
 <tbody>
 <tr><td>id</td>
-  <td>識別番号です。連番型ですので、新しいヒントを登録するときにはこの列を指定せずに登録してください。クエリやアプリケーション名やヒントを更新するときに使用してください。</td></tr>
+  <td>ユーザがヒントを識別するための番号です。連番型ですので、新しいヒントを登録するときにはこの列を指定しないでください。</td></tr>
 <tr><td>norm_query_string</td>
   <td>実行計画を制御したいクエリを指定します。対象のクエリに定数があるときは、下記の例のように「?」に置き換えます。キーワード間の空白の数が、登録するクエリと実行するクエリで異なると別のSQL文として扱われます。</td></tr>
 <tr><td>application_name</td>
@@ -119,6 +119,27 @@ postgres=#
   <td>ヒントを指定します。ヒント以外のもの(SQLコメントなど)を含めないでください。</td></tr>
 </tbody>
 </table>
+<p>ヒントの登録情報を変更する場合は、変更したい登録情報のidを指定して登録情報を更新してください。</br>
+ヒントの登録を解除する場合は、解除したい登録情報のidを指定してテーブルから削除してください。</p>
+<p>以下の例では、ヒントの登録、ヒント登録情報の変更、ヒントの登録解除の順に、クエリの実行結果を示しています。
+</p>
+<pre>
+postgres=# INSERT INTO hint_plan.hints(norm_query_string, application_name, hints)
+postgres-#     VALUES (
+postgres(#         'EXPLAIN (COSTS false) SELECT * FROM t1 WHERE t1.id = ?;',
+postgres(#         '',
+postgres(#         'SeqScan(t1)'
+postgres(#     );
+INSERT 0 1
+postgres=# UPDATE hint_plan.hints
+postgres-#    SET hints = 'IndexScan(t1)'
+postgres-#  WHERE id = 1;
+UPDATE 1
+postgres=# DELETE FROM hint_plan.hints
+postgres-#  WHERE id = 1;
+DELETE 1
+postgres=#
+</pre>
 <p>以下の例では、テーブルに登録した「コメントでの指定」の例と同じヒントと、登録したクエリの実行結果を示しています。</p>
 <pre>
 postgres=# SELECT * FROM hint_plan.hints;