ユーザーガイド > パフォーマンスチューニング > 半結合最適化オプション > 半結合構成パラメーターの設定
 
半結合構成パラメーターの設定
これらのサーバー構成パラメーターでは、どのようなクエリーがTDVクエリーエンジンによって半結合最適化の恩恵を受けられると見なされるかを制御します。
潜在的な半結合の両側のカーディナリティが評価され、推定カーディナリティが小さい側がLHSとしてメモリーにロードされます。カーディナリティが十分に小さい場合、LHSからの結合基準のすべての値を含むIN句またはOR式が1つ作成され、RHSに送信されるSQLに追加されます。
半結合は、SQLステートメントまたはIN/OR句のサイズがベンダーによって制限されているデータベースに限定されます。カーディナリティが特定のデータソースのIN句またはOR式のサイズに関する制限を超える場合、クエリーエンジンは、パーティション分割された半結合を試行する実行プランを作成します。パーティションはINリストを100以下の一意の値のチャンクに分割し、RHSソースに対して複数のクエリーが実行されます。それでもカーディナリティが大きすぎる場合、システムはHASHアルゴリズムを使用します。
LHSによって結合に過度の負荷がかからないように、もう1つの制限を設定します。LHSのカーディナリティを構成して、自動半結合をトリガーする行数を指定できます。
たとえば、[Max Source Side Cardinality Estimate(最大ソース側カーディナリティ推定)]が200で、[Ratio(比率)]が10の場合、ソースの推定カーディナリティが50、ターゲットの推定カーディナリティが600のクエリーは半結合の使用を自動的にトリガーし、ソースの推定カーディナリティが100、ターゲットの推定カーディナリティが900のクエリーは自動半結合をトリガーしません。
TDVクエリーエンジンは、ソース側を推定できるものの、ターゲット側を推定できない場合には、ターゲット側のカーディナリティが大きいと想定し、[Max Source Side Cardinality Estimate(ソース側カーディナリティの推定最大値)]の値を使用して半結合を設定します。
Studioを使用して半結合パラメーターを設定するには
1.Studioの[Administration(管理)]メニューの[Configuration(構成)]オプションを開きます。
2.必要に応じて、次の半結合サーバー構成パラメーターの値を変更します。
パラメーター
説明
[Max Source Side Cardinality Estimate(ソース側カーディナリティの最大推定値)]
ソース側で生成される述語のサイズに上限を設定します。カーディナリティの推定値がこの設定よりも大きい場合、TDVクエリーエンジンは半結合を自動的に選択しません。
[Min Ratio of Target Cardinality to Source Cardinality(ターゲットカーディナリティとソースカーディナリティの最小比率)]
自動半結合をトリガーするためのターゲットの最小カーディナリティを導き出します。
たとえば、ソース側の推定値が50で、比率が12に設定されている場合、半結合最適化の使用をトリガーするには、ターゲット側の推定値が600行以上でなければなりません。ターゲットのカーディナリティが指定されていない場合、ターゲットのカーディナリティは非常に大きいと想定されます。
3.変更を保存します。
4.TDV Serverを再起動します。