• R/O
  • HTTP
  • SSH
  • HTTPS

pg_hint_plan: Commit

firtst release


Commit MetaInfo

Revisionb5b88aba89aed666e8e07cfff9efce3c6b8cafce (tree)
Time2013-08-09 10:21:53
AuthorTakashi Suzuki <suzuki.takashi@metr...>
CommiterTakashi Suzuki

Log Message

マニュアルのヒント用テーブルの使用方法の説明をよりわかりやすくした。

Change Summary

Incremental Difference

--- a/doc/pg_hint_plan-ja.html
+++ b/doc/pg_hint_plan-ja.html
@@ -110,7 +110,7 @@ postgres=#
110110 </tr></thead>
111111 <tbody>
112112 <tr><td>id</td>
113- <td>識別番号です。連番型ですので、新しいヒントを登録するときにはこの列を指定せずに登録してください。クエリやアプリケーション名やヒントを更新するときに使用してください。</td></tr>
113+ <td>ユーザがヒントを識別するための番号です。連番型ですので、新しいヒントを登録するときにはこの列を指定しないでください。</td></tr>
114114 <tr><td>norm_query_string</td>
115115 <td>実行計画を制御したいクエリを指定します。対象のクエリに定数があるときは、下記の例のように「?」に置き換えます。キーワード間の空白の数が、登録するクエリと実行するクエリで異なると別のSQL文として扱われます。</td></tr>
116116 <tr><td>application_name</td>
@@ -119,6 +119,27 @@ postgres=#
119119 <td>ヒントを指定します。ヒント以外のもの(SQLコメントなど)を含めないでください。</td></tr>
120120 </tbody>
121121 </table>
122+<p>ヒントの登録情報を変更する場合は、変更したい登録情報のidを指定して登録情報を更新してください。</br>
123+ヒントの登録を解除する場合は、解除したい登録情報のidを指定してテーブルから削除してください。</p>
124+<p>以下の例では、ヒントの登録、ヒント登録情報の変更、ヒントの登録解除の順に、クエリの実行結果を示しています。
125+</p>
126+<pre>
127+postgres=# INSERT INTO hint_plan.hints(norm_query_string, application_name, hints)
128+postgres-# VALUES (
129+postgres(# 'EXPLAIN (COSTS false) SELECT * FROM t1 WHERE t1.id = ?;',
130+postgres(# '',
131+postgres(# 'SeqScan(t1)'
132+postgres(# );
133+INSERT 0 1
134+postgres=# UPDATE hint_plan.hints
135+postgres-# SET hints = 'IndexScan(t1)'
136+postgres-# WHERE id = 1;
137+UPDATE 1
138+postgres=# DELETE FROM hint_plan.hints
139+postgres-# WHERE id = 1;
140+DELETE 1
141+postgres=#
142+</pre>
122143 <p>以下の例では、テーブルに登録した「コメントでの指定」の例と同じヒントと、登録したクエリの実行結果を示しています。</p>
123144 <pre>
124145 postgres=# SELECT * FROM hint_plan.hints;
Show on old repository browser