2017-04-06 3 views
1

外部DBソースからのさまざまなタイプの選択に対してパフォーマンスをテストします。外部行セットからのパフォーマンスの選択

  1. EXTERNAL Datasource_Identifier
  2. LOCATION csharp_string_literal
  3. のみ第三のタイプは、(EXECUTE)WHERE文の場合に有効であるので、私は、パフォーマンスに興味csharp_string_literal

を実行します。

は私が何か間違ったことをやっている、またはそれは、U-SQLは、最初の外部テーブルからすべての行を読んで、その後ADLA(LOCATIONのための同じ動作)の内部でそれをフィルタリングすることを普通のことですか?

私のテーブルが非常に大きく、テーブルの行の一部だけを使用する必要がある場合には、それは問題あり/無効です。

EXTERNALテーブルまたはLOCATIONから読み込む前に強制的にデータをフィルタリングすることはできますか?問題は、私は変数に基づいて動的WHEREステートメントが必要です。

答えて

2

最初に、オブジェクトのREMOTABLE_TYPES句を使用してSQL Serverエンジンに述語をプッシュする機能を制御します。

次に、述語はリモートである必要があります。 U-SQL行セット(表)を使用した結合で述語を実行している場合、効率的に遠隔操作することは容易ではないかもしれません(まだ結合をセミジョインにマップするかどうかはわかりません)。

EXECUTEで使用する述語をリモートで処理できるように思われるので、他のケースではリモートで使用できるようにクエリを記述することができます。しかし、クエリを見ることなく、確かに言うのは難しいです。あなたは私たちが見てみたい場合は

、(マイクロソフトドットコムでusql)電子メールで私に連絡してください。

関連する問題