ユーザーガイド > TDVクエリーエンジンの最適化 > サブクエリーの最適化
 
サブクエリーの最適化
TDVはサブクエリーを分析し、このサブクエリーの最適化の要件を満たしている場合、それらを結合として書き換えることができます。多くの場合、結合を使用すると、相関サブクエリーに対して、パフォーマンスが向上します。
要件
サブクエリーはINまたは=で始めます。
サブクエリーは「=」で始め、集計を含めます。
サブクエリーには、COLUMN、LITERAL、FUNCTION、またはAGGREGATE FUNCTIONタイプの選択可能なものを1つだけ含めることができます。
サブクエリーには、SELECT、DISTINCT、AGGREGATE、FROM、RELATION、WHEREを含めることができます。
サブクエリーでは、この機能のWHERE句でのみ相関を持たせることができます。他の場所で相関を持たせると、結合への書き換えは行われません。
タイプSELECT、DISTINCT、AGGREGATE、FROMおよびWHERE句のサブクエリー演算子。または、サブクエリーに、HAVING句とともに相関する述語を持つWHERE句を含めます。
サブクエリーWHERE句に対して、相関する述語のみがサポートされています。
クエリーの相関列は、親から直接取得する必要があります。祖父母レベルの列はサポートされていません。
タイプが不一致の場合、サブクエリーを書き換える資格がありません。
サブクエリーの最適化を有効にするには
1.Studioで、[Administration(管理)] > [Configuration(構成)]に移動します。
2.[Server(サーバー)] > [SQL Engine(SQLエンジン)] > [Optimizations(最適化)]を展開します。
3.[Rewrite IN Sub-Queries as Joins configuration parameter(結合構成パラメーターとしてINサブクエリーを書き換える)]を見つけます。
4.値を検証するか、trueに変更します。
5.[Use Semi-Join While Rewriting IN Sub-Queries as Joins configuration parameter(結合構成パラメーターとしてINサブクエリーを書き換える間に準結合を使用する)]を見つけます。
6.構成パラメーターの値を確認し、それを変更するかどうかを決定します。
7.値をそのままにするか、変更します。
8.[Apply(適用)]または[OK]を選択します。
パラメーターの変更はすぐに有効になります。構成パラメーターの変更後に処理を開始するすべてのクエリーは分析され、最適化を利用できるかどうかが確認されます。サーバーを再起動する必要はありません。