クエリー リライト - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLリクエストおよびトランザクション処理

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/arh1512079329802.ditamap
dita:ditavalPath
ja-JP/arh1512079329802.ditaval
dita:id
B035-1142
Product Category
Software
Teradata Vantage

クエリー リライトについて

Teradataシステムでは、クエリー リライトは構文解析プログラムのクエリー リライト サブシステムでほとんど実行されます。ただし、一部のクエリー リライトは、後のフェーズで実行されます。クエリー リライト サブシステムは、クエリーを最適化する直前に構文解析プログラムによって呼び出されるため、クエリー最適化プロセスで実行される最適化の最初のフェーズです。

クエリー リライトの機能

概説すると、クエリー リライトは、次に示す条件を満たすように、問合わせQを問合わせQ’に書き換えるプロセスです。

  • 問合わせQおよび問合わせQ’で同じ応答セットを生成する。
  • 問合わせQ’は問合わせQより速く実行される(つまり、さらに低コストになる)。

さまざまなクエリー リライト技法は、ルール ベース(述部の移動など)またはコスト ベース(結合インデックスの置換など)のいずれかにできます。

クエリー生成ツールが生成するSQLクエリーの多くは、特定のターゲットSQLプロセッサに最適で効率的なコードが作成されていません。そのため、クエリー リライトがさらに重要になってきています。ごく単純なSQLリクエストでも、数多くの異なる方法で記述することができます。

次の口頭表現によるクエリーを考えてください。「P2を提供するサプライヤーの名前を取得する」。ANSI SQL-92バージョンの言語で使用可能な機能を使用すると、このクエリーは少なくとも52種類の異なる方法で表現できます(応答セットを返すプロセスでシステムが2つのテーブルにアクセスする必要があることが前提)。この例は、口頭表現によるクエリーをSQLリクエストとして書き込むことができる方法の数を示しているに過ぎません。これらの52個のSQLクエリーの内部再作成の数は含まれていません。