17.00 - 17.05 - 使用上の注意 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

関数はまず、各vproc上でローカルWRITEロックを取得しようとします。どのvprocもロックを取得できない場合、関数は値-2を戻し、すべてのロックを解放します。必要に応じて、呼び出しは再試行できます。ロックがすべてのvproc上で取得された後に、必要とされる範囲のメモリが、呼び出し元からすべてのvprocに送信されます。ロックは、すべてのコピーが更新されるまで解放されません。正常な呼び出しは、結果に対して0を戻します。いくつかの付加的な考慮事項を以下に示します。

  • これは高価な操作です。この関数を頻繁に呼び出すことは避けてください。
  • 適切な外部ルーチンがグローバル更新を実行するようにし、それらが相互にステップオーバーしないようにします。
  • 最善の方法は、GLOPデータの何らかのタイプのバージョン情報を使用して、外部ルーチンが正しいバージョンを使用していることを確認することです。これは外部ルーチンに合わせる必要があります。
  • グローバル コピーは、大量のデータを再配布するようには設計されていません。これは行を複製するためには使用しないでください。代わりに、大量のデータの再配布にはSQL文を使用してください。グローバル コピーをそのように使用すると、システム パフォーマンス面では妥協が必要になります。
  • グローバル コピーは、特定のセット内の特定のGLOPデータのすべてのvproc (すべてのノード)上のすべてのデータについて、指定範囲を変更します。
  • グローバル コピーは、型およびコンテキストと関連するすべてのvproc上のすべての既存のGLOPデータだけを変更します。この呼び出しに続いて追加のコンテキストが確立される場合、それらは初期GLOPコンテキストを持ちます。それ以降のGLOPデータは、グローバル コピー コマンドによる変更と同期させられることはありません。GLOPデータがトランザクション ベースの場合、それはトランザクションと関連するそれらのGLOPマッピングだけを更新します。データがユーザー ベースの場合、それはこのコマンドの実行時に現在マップされているユーザーと関連するすべてのGLOPマッピングを更新します。