Postgres における遺伝的問い合わせ最適化(GEQO

The GEQO module is intended for the solution of the query optimization problem similar to a traveling salesman problem (TSP). Possible query plans are encoded as integer strings. Each string represents the join order from one relation of the query to the next. E. g., the query tree

GEQO モジュールは、巡回セールスマン問題( TSP )に似た問い合わせ最適化問題の解決を目的とし ています。問い合わせ計画の候補を整数の文字列としてコード化します。 各文字列は、問い合わせ内のリレーションをどういう順番で join を行なうかを表します。 例えば、

       /\
      /\ 2
     /\ 3
    4  1
is encoded by the integer string '4-1-3-2', which means, first join relation '4' and '1', then '3', and then '2', where 1, 2, 3, 4 are relids in Postgres. という問い合わせツリーは、'4-1-3-2' という整数の文字列にコード化さ れます。この文字列は、まず、'4' と '1' リレーションの結合を行ない、 次にこの結合したものと '3' 、そしてその次に '2' と結合することを意 味します。ここで 1、2、3、4 は Postgres におけるリレーション識別子を示します。 ※relidをリレーション識別子と訳

Parts of the GEQO module are adapted from D. Whitley's Genitor algorithm.

GEQO モジュールの一部は D. Whitley 氏の Genitor アルゴリズムを適合させたものです。

Specific characteristics of the GEQO implementation in Postgres are:

Postgres における GEQO の実装固有の特徴を以下に示します。

The GEQO module gives the following benefits to the Postgres DBMS compared to the Postgres query optimizer implementation:

GEQO モジュールは Postgres の問い合わせオブティマイザの実装 と比較して、Postgres DBMS に以下の利点を 与えます。