表関数

引数がすべてリテラルであるテーブル関数は、ホスト上で実行される。 --noparallelとして登録されたテーブル関数がホスト上で実行される。 他のすべてのテーブル関数は通常SPU上で実行されるが、NPSクエリオプティマイザが処理をホストに移す状況もある。 テーブル関数にホストとSPUのどちらを使うか('--noparallel使うか使わないか)という選択には意味がある。 入力の最後にデータを返す表関数AEは、ホスト上で1回実行されるのではなく、n個のデータスライスに対してn回実行されるため、SPU上で実行した方がホスト上よりも多くの行を返すことができる。 入力がホスト上にあり(外部テーブル、_v_dual、またはプラン内の一時テーブル)、オプティマイザがSPU上で評価することを選択した場合、オプティマイザはランダム分布を用いてSPUにデータを分配する。 テーブル機能ロジックがSPU上で実行されても、シェーパーは常にホスト上で実行される。 詳しくは、シェーパーとサイザーの紹介を参照。