pg_hint_plan - en to ja translation catalogue (39 entries)

en: Details in hinting
ja: ヒントの詳細

en: Syntax and placement
ja: 構文と配置

en: `pg_hint_plan` reads hints from only the first block comment and any characters except alphabets, digits, spaces, underscores, commas and parentheses stops parsing immediately. In the following example `HashJoin(a b)` and `SeqScan(a)` are parsed as hints but `IndexScan(a)` and `MergeJoin(a b)` are not.
ja: `pg_hint_plan`は最初のブロックコメントのみからヒントを読み、アルファベット、数字、スペース、アンダースコア、カンマ、括弧以外の文字は直ちに構文解析を停止します。以下の例では、`HashJoin(a b)`と`SeqScan(a)`はヒントとして構文解析されますが、`IndexScan(a)`と`MergeJoin(a b)`はヒントとしては構文解析されません。

en: Using with PL/pgSQL
ja: PL/pgSQLでの使用

en: `pg_hint_plan` works for queries in PL/pgSQL scripts with some restrictions.
ja: `pg_hint_plan`はPL/pgSQLスクリプト内のクエリに対してはいくつかの制限付きで動作します。

en: Hints affect only on the following kind of queries.
ja: ヒントは以下のような種類のクエリにのみ影響します。

en: Queries that returns one row. (`SELECT`, `INSERT`, `UPDATE` and `DELETE`)
ja: 1行を返すクエリ (`SELECT`、`INSERT`、`UPDATE`、`DELETE`)

en: Queries that returns multiple rows. (`RETURN QUERY`)
ja: 複数行を返すクエリ (`RETURNクエリ`)

en: Dynamic SQL statements. (`EXECUTE`)
ja: 動的なSQL文 (`EXECUTE`)

en: Cursor open. (`OPEN`)
ja: カーソルを開く (`OPEN`)

en: Loop over result of a query (`FOR`)
ja: クエリ結果をループ (`FOR`)

en: A hint comment have to be placed after the first word in a query as the following since preceding comments are not sent as a part of the query.
ja: ヒントコメントは次のようにクエリの最初の単語の後に配置する必要があります。クエリよりも先行するコメントはクエリの一部として送信されません。

en: Letter case in the object names
ja: オブジェクト名の大文字と小文字の区別

en: Unlike the way PostgreSQL handles object names, `pg_hint_plan` compares bare object names in hints against the database internal object names in case sensitive way. Therefore an object name TBL in a hint matches only "TBL" in database and does not match any unquoted names like TBL, tbl or Tbl.
ja: PostgreSQLがオブジェクト名を扱う方法とは異なり、`pg_hint_plan`はヒントに含まれるオブジェクト名とデータベース内部のオブジェクト名を大文字・小文字を区別して比較します。したがって、ヒント内のオブジェクト名TBLはデータベース内の "TBL "にのみマッチし、TBL、tbl、Tblのような引用符のない名前にはマッチしません。

en: Escaping special chacaters in object names
ja: オブジェクト名の特殊文字のエスケープ

en: The objects as the hint parameter should be enclosed by double quotes if they includes parentheses, double quotes and white spaces. The escaping rule is the same as PostgreSQL.
ja: ヒントのパラメータであるオブジェクト名は、括弧、二重引用符、空白を含む場合、二重引用符で囲む必要があります。エスケープのルールはPostgreSQLと同じです。

en: Distinction between multiple occurances of a table
ja: 複数出現するテーブルの区別

en: `pg_hint_plan` identifies the target object by using aliases if exists. This behavior is usable to point a specific occurance among multiple occurances of one table.
ja: `pg_hint_plan`は別名が存在する場合、それを使用して対象オブジェクトを特定します。この動作は、1つのテーブルが複数出現する中から特定のものを指し示すために使用されます。

en: Underlying tables of views or rules
ja: ビューまたはルールの根底にあるテーブル

en: Hints are not applicable on views itself, but they can affect the queries within if the object names match the object names in the expanded query on the view. Assigning aliases to the tables in a view enables them to be manipulated from outside the view.
ja: ヒントはビュー自体には適用されませんが、オブジェクト名がビュー上に展開されたクエリ内のオブジェクト名と一致する場合、クエリ内部に影響を与えることができます。ビューのテーブルに別名を割り当てると、ビューの外からテーブルを操作することができます。

en: Inheritance tables
ja: 継承テーブル

en: Hints can point only the parent of an inheritance tables and the hint affect all the inheritance. Hints simultaneously point directly to children are not in effect.
ja: ヒントは継承テーブルの親だけを指すことができ、そのヒントはすべての継承に影響します。同時に子テーブルを直接指定するヒントは無効です。

en: Hinting on multistatements
ja: マルチステートメントでのヒント

en: One multistatement can have exactly one hint comment and the hints affects all of the individual statement in the multistatement. Notice that the seemingly multistatement on the interactive interface of psql is internally a sequence of single statements so hints affects only on the statement just following.
ja: 1つのマルチステートメントには1つのヒントコメントを含めることができ、ヒントはマルチステートメント内のすべてのステートメントに影響します。psqlの対話型インタフェース上では一見マルチステートメントに見えますが、内部的には単一のステートメントのシーケンスであるため、ヒントは直後のステートメントにのみ影響することに注意してください。

en: VALUES expressions
ja: VALUES式

en: `VALUES` expressions in `FROM` clause are named as `*VALUES*` internally so it is hintable if it is the only `VALUES` in a query. Two or more `VALUES` expressions in a query seem distinguishable looking at its explain result. But in reality, it is merely a cosmetic and they are not distinguishable.
ja: `FROM`句の`VALUES`式は、内部的には`*VALUES*`と名付けられ、クエリ内の唯一の`VALUES`であればヒントを使用できる可能性があります。クエリ内の2つ以上の`VALUES`式は、`EXPLAIN`の結果を見ると区別がつくように見えます。しかし、実際にはそれは単なる表面上のものであり、区別はできません。

en: Subqueries
ja: 副問い合わせ

en: Subqueries in the following context occasionally can be hinted using the name `ANY_subquery`.
ja: 以下のコンテキストにある副問い合わせは、`ANY_subquery`という名前を使ってヒントを与えることができます。

en: For these syntaxes, planner internally assigns the name to the subquery when planning joins on tables including it, so join hints are applicable on such joins using the implicit name as the following.
ja: これらの構文では、プランナは副問い合わせを含むテーブルの結合を計画する際に、副問い合わせに内部的に名前を割り当てます。そのため、そのような結合では以下のように暗黙の名前を使用して結合方法ヒントが適用できます。

en: Using `IndexOnlyScan` hint
ja: IndexOnlyScanヒントの使用

en: Index scan may unexpectedly performed on another index when the index specifed in IndexOnlyScan hint cannot perform index only scan.
ja: IndexOnlyScanヒントで指定されたインデックスでインデックスオンリースキャンを実行できない場合、インデックススキャンは予期せず別のインデックスで実行されることがあります。

en: Behavior of `NoIndexScan`
ja: NoIndexScanの動作

en: `NoIndexScan` hint involes `NoIndexOnlyScan`.
ja: NoIndexScanヒントはNoIndexOnlyScanを含んでいます。

en: Parallel hint and `UNION`
ja: Parallelヒントと`UNION`

en: A `UNION` can run in parallel only when all underlying subqueries are parallel-safe. Conversely enforcing parallel on any of the subqueries let a parallel-executable `UNION` run in parallel. Meanwhile, a parallel hint with zero workers hinhibits a scan from executed in parallel.
ja: UNIONが並列に実行できるのは、その下にあるすべてのサブクエリの並列実行が安全である場合のみです。サブクエリのいずれかに並列実行を強制することで、並列実行可能なUNIONが並列で実行されます。一方、ワーカーがゼロのPARALLELヒントは、スキャンの並列実行を禁止します。

en: Setting `pg_hint_plan` parameters by Set hints
ja: Set ヒントによる`pg_hint_plan`のパラメータ設定

en: `pg_hint_plan` parameters change the behavior of itself so some parameters doesn't work as expected.
ja: `pg_hint_plan`のパラメータはそれ自体の動作を変更するため、一部のパラメータは期待通りに動作しません。

en: Hints to change `enable_hint`, `enable_hint_tables` are ignored even though they are reported as "used hints" in debug logs.
ja: `enable_hint`, `enable_hint_tables`を変更するヒントは、デバッグログに"used hints"として報告されても無視されます。

en: Setting `debug_print` and `message_level` works from midst of the processing of the target query.
ja: `debug_print`と`message_level`の設定は、対象クエリの処理の途中から動作します。
