リレーショナルデータベースで大きいテーブルを参照する場合、範囲を使用して、ビュー内のレコード数を減らすことが重要です。範囲を使用しないでテーブルにアクセスすると、操作に長時間を要することがあります。特に位置付けやページアップなどの操作には時間がかかります。パフォーマンスを向上させるには、範囲は1つのインデックスのセグメントに指定します。
Magic xpaでは、以下の4つの箇所から範囲を指定することができます。
Magic xpaの項目定義の[範囲]特性 …… 項目定義の[範囲]特性で指定した全ての範囲は、SELECT文の一部になります。その後、一連の検索中であっても、範囲はRDBMSおよびWHERE句によって処理されます。Magic xpaは、クエリに一致したレコードのみを受け取ります。
タスクレベルの範囲式 …… タスクレベルの範囲式を使用すると、Magic xpaによって、データベースから返された各レコードが式と比較され、レコードをビューの一部とするかどうかが決定されます。Magic xpaは全てのレコードを受け取り、フィルタリングを実行します。
DB SQL範囲 …… データベースにそのまま送信されるWHERE句に連結されるフリーテキスト。これは、物理トランザクションモードのタスクでのみ実行されます。固有のデータベース構文を理解している必要があります。
Magic SQL範囲 …… データベースごとに適切な構文に変換されるMagic xpaの式。これは、データベースに送信されるWHERE句に追加されます。固有のデータベース構文を理解していなくてもかまいません。
これら4つのオプションの動作は、まったく異なります。できるだけデータベースに送信できる箇所で、範囲を設定することをお勧めします。タスクレベルの範囲では、他で指定できない範囲条件のみ設定してください。