DB2 Version 10.1 for Linux, UNIX, and Windows

組み込みビューと表関数との比較

組み込みビューは、SQL による DB2® 機能への簡易アプリケーション・プログラミング・インターフェースを提供します。

組み込みビューは、以下の 3 つのカテゴリーに分けられます。
  • カタログ・ビューを基にしたビュー
  • 入力パラメーターを持たない表関数を基にしたビュー
  • 1 つ以上の入力パラメーターを持つ表関数を基にしたビュー

表関数は組み込みビューと同じような情報を戻すことができますが、表関数を使用すると、特定のデータベース・パーティション、すべてのデータベース・パーティションのサブセット、またはすべてのデータベース・パーティションのいずれかの特定のデータベースを対象とした情報を取得することができます。

以下の例は、1 つ以上の入力パラメーターを持つ表関数に基づいた組み込みビューを使用する場合と、対応する表関数を使用する場合の違いを示しています。
  • 通知ログ・メッセージを検索する PDLOGMSGS_LAST24HOURS ビューは、直前の 24 時間のデータへの迅速なアクセスを提供します。 一方、PD_GET_LOG_MSGS 表関数を使用して、指定した期間のデータを検索できます。
  • スナップショット・モニター・ビュー (SNAP で始まる名前で識別される) は、各データベース・パーティションのデータへのアクセスを提供します。 一方、スナップショット・モニター表関数 (SNAP_GET_ で始まる名前で識別される) には、単一データベース・パーティションからのデータかすべてのデータベース・パーティションからのデータ・サブセットのどちらかを選択するオプションがあります。
  • ADMINTABINFO ビューは、データベースのすべての表の情報を検索します。この動作は、大規模データベースを使用するアプリケーションのパフォーマンスに大きな影響を及ぼすことがあります。 代わりに、ADMIN_GET_TAB_INFO 表関数を使用して、スキーマ名または表名、あるいはその両方を入力として指定することにより、パフォーマンスへの影響を軽減できます。

1 つ以上の入力パラメーターを持つ表関数を基にした組み込みビューの場合、組み込みビューと表関数の両方を使用できますが、それぞれは以下のように異なる目標を実現します。

組み込みビューは必ず最新のバージョンの表関数を基にします。ただし、戻される情報の中の列の位置は、新しい情報を戻せるように、リリースによって変わる可能性があります。したがって、組み込みビューまたは表関数から特定の列を選択する必要があります。あるいは、アプリケーションが SELECT * ステートメントを使用する場合は、結果セットを記述する必要があります。

バージョンの接尾部 (_Vxx) がある表関数は、推奨されていないか、廃止されています。推奨されない関数は、将来のリリースで廃止される可能性があります。したがって、これらの表関数を使用するアプリケーションやスクリプトを変更し、対応する表関数でバージョンの接尾部がないものを呼び出すようにする必要があります。