ページの先頭行へ戻る
Symfoware Server V11.0.0 アップデート情報
Symfoware

2.63 ジョイン順の変更

変更内容

Symfoware/RDBにおけるSQL文の最適化のチューニングとして、JOIN_ORDERパラメタを設定します。JOIN_ORDERには、AUTO、INSIDE(省略値)、OUTSIDEを指定することができます。

最適化処理は、最適化情報から処理手順にかかるコストを見積もり、最適なジョイン順を決めます。最適化情報が設定されていない場合は、どのジョイン順も同じコストになる可能性が高くなります。JOIN_ORDERにINSIDEを指定するか、省略し、同じコストの場合、ジョイン順は以下のようになります。

5.x系以前

WHERE句の表を結合する探索条件の記述の逆順にジョインするアクセスプランを選択します。

6.x系以降

WHERE句の表を結合する探索条件の記述順にジョインするアクセスプランを選択します。

非互換

5.x系以前

JOIN_ORDERにINSIDEを指定するか、省略し、最適化情報を設定しない運用の場合、ジョイン順がWHERE句の表を結合する探索条件の記述の逆順になります。

6.x系以降

JOIN_ORDERにINSIDEを指定するか、省略し、最適化情報を設定しない運用の場合、ジョイン順がWHERE句の表を結合する探索条件の記述順になり、バージョンアップを契機に、まれにSQL文のレスポンスが悪くなることがあります。

対処方法

以下の1)、2)のいずれかを行ってください。

1)
2)

SQL文にASSIST指定のLEADING_TABLEを指定して、ジョイン順を固定してください。