コンテンツエリア開始

Background documentation 等価条件 Locate the document in its SAP Library structure

等価条件は、比較述語を持つ検索条件です。

SQL オプティマイザでは、等価条件に対して以下の制約が課されます。

      唯一の演算子は関係演算子 = です。

      等価条件の書式は、以下のいずれかになります。

<column_spec> =<extended_value_spec>

<column_spec> =<subquery>

SQL オプティマイザが等価条件を評価して検索方針を決定するには、等価条件がこれらのいずれかの書式である必要があります。等価条件が別の書式である場合、SQL オプティマイザはこれを変換しようとします。

SQL オプティマイザは、以下の書式の式を、NOT を使用せず、否定された演算子 = を使用する条件に変換します。

...NOT (<column_spec> <><extended_value_spec>)

...NOT (<column_spec> <><subquery>)

これにより、SQL オプティマイザは変換した条件の処理を続行することができます。

SQL オプティマイザを説明するために使用する例は、スキーマ HOTEL におけるデモデータベースDEMODB とその完全なデモデータにもとづいています。

データベースシステムのコンセプトスキーマ HOTEL のオブジェクト

Example

SELECT * FROM hotel.customer
  WHERE name = 'Smith'

修飾: name = 'Smith'
テーブル CUSTOMER の一次キー: cno
修飾列の索引: FULL_NAME_INDEX (name, firstname)
使用される検索方針: RANGE CONDITION FOR INDEX

索引 FULL_NAME_INDEX (name, firstname) を使用して、名称Smith を持つすべてのエントリを検索することができます。

EXPLAIN 文の結果

TABLENAME

COLUMN_OR_INDEX

STRATEGY

PAGECOUNT

CUSTOMER

FULL_NAME_INDEX

RANGE CONDITION FOR INDEX

34

 

NAME

(USED INDEX COLUMN)

 

 

 

RESULT IS NOT COPIED
COSTVALUE IS


6

その他の SQL 文の簡単な例については、Structure linkSQL チュートリアルを参照してください。

参照:

EXPLAIN

SQL 参照マニュアル比較述語 (comparison_predicate)

 

 

コンテンツエリア終了