• R/O
  • HTTP
  • SSH
  • HTTPS

pg_hint_plan: Commit

firtst release


Commit MetaInfo

Revision5e5bbe20d193342077c24730d7a0358600f23dd9 (tree)
Time2014-01-24 11:21:46
AuthorTakashi Suzuki <suzuki.takashi@metr...>
CommiterTakashi Suzuki

Log Message

マニュアルにRowsヒント句の仕様の一部と具体例を挿入した。

記入内容
・Rowsヒント句の補正の件数や倍率をstrtodで補正していること。
理由
・16進数でも指定可能なため。

Change Summary

Incremental Difference

--- a/doc/hint_list-ja.html
+++ b/doc/hint_list-ja.html
@@ -83,6 +83,7 @@ PostgreSQL 9.2以降で動作します。</td></tr>
8383 <dt>-件数</dt><dd>指定した件数を本来の見積もり件数から減算します。</dd>
8484 <dt>*倍率</dt><dd>本来の見積もり件数を指定した倍率に補正します。「*2」とすると見積もり件数が2倍になり、「*0.01」とすると見積もり件数が1/100になります。</dd>
8585 </dl></p>
86+なお、指定された件数や倍率をpg_hint_plan内部でパースするときにstrtod()を使用しています。
8687 </td></tr>
8788
8889 <tr><td>GUCパラメータ</td>
--- a/doc/pg_hint_plan-ja.html
+++ b/doc/pg_hint_plan-ja.html
@@ -276,6 +276,24 @@ postgres-# JOIN table table3 t3 ON (t2.key = t3.key);
276276 <h4>見積もり件数補正</h4>
277277 <p>あるオブジェクトの結合結果の件数を補正できるヒント句のグループです。「Rows」のみを含みます。</p>
278278 <p>見積もり件数補正対象として指定できるオブジェクトは結合方式と同じです。補正できるのは結合結果の見積もり件数だけで、スキャンの見積もり件数を補正することはできません。</p>
279+<p>以下の例では、テーブルaとテーブルbの結合結果の件数を、ヒント句で指定した値に補正しています。</p>
280+<pre>
281+postgres=# /*+ Rows(a b #10) */
282+postgres-# EXPLAIN SELECT *
283+postgres-# FROM pgbench_branches b
284+postgres-# JOIN pgbench_accounts a ON b.bid = a.bid
285+postgres-# WHERE aid &lt; 20
286+postgres-# ORDER BY a.aid;
287+ QUERY PLAN
288+--------------------------------------------------------------------------------------------------------
289+ Nested Loop (cost=0.29..9.92 rows=<span class="strong">10</span> width=461)
290+ Join Filter: (b.bid = a.bid)
291+ -> Index Scan using pgbench_accounts_pkey on pgbench_accounts a (cost=0.29. .8.62 rows=19 width=97)
292+ Index Cond: (aid &lt; 20)
293+ -> Materialize (cost=0.00..1.01 rows=1 width=364)
294+ -> Seq Scan on pgbench_branches b (cost=0.00..1.01 rows=1 width=364)
295+(6 行)
296+</pre>
279297
280298 <h4>GUCパラメータ</h4>
281299 <p>そのクエリの実行計画を作成している間だけGUCパラメータを変更できるヒント句のグループです。「Set」のみを含みます。</p>
Show on old repository browser