最近のアクセス:
データプロバイダーのグループステートメントの One 節

複数のレコードのナビゲーションから最初のレコードのみを返すことができます。

構文

' [ 'One' ] '
構文の表記規則の表示

可能性のあるすべてのレコードのうち、最初の顧客だけが必要であるため、データプロバイダーの出力として使用する SDT はコレクションではないとします。データプロバイダーが次のように記述されている場合、結果は最後の顧客になりました (データプロバイダーはすべてのテーブルを読み取り、SDT を変更して各顧客で返すため)。
OneCustomer
{
   CustomerId
   CustomerName
}
データ
CustomerId CustomerName
1 顧客 1
2 顧客 2
3 顧客 3
 
結果は次のとおりです:
<OneCustomer>
   <CustomerId>3</CustomerId>
   <CustomerName>Customer three</CustomerName>
</OneCustomer>
生成される Select 文は次のとおりです。1 つのレコードを取得するのにすべてのテーブルを読み込むため、パフォーマンスが良くありません。
SELECT  [ CustomerName ] ,  [ CustomerId ]  FROM  [ Customer ]  WITH (NOLOCK) ORDER BY  [ CustomerId ] 
この例を改善するために、 [ one ] 節が実装され、次のように記述するとします:
OneCustomer  [ one ] 
{
   CustomerId
   CustomerName
}
結果は次のとおりです:
<OneCustomer>
   <CustomerId>1</CustomerId>
   <CustomerName>Customer one</CustomerName>
</OneCustomer>
この場合に生成される Select 文は次のようになり、パフォーマンスが改善されます。
SELECT TOP 1  [ CustomerName ] ,  [ CustomerId ]  FROM  [ Customer ]  WITH (NOLOCK) ORDER BY  [ CustomerId ] 
データ プロバイダー ナビゲーションでは、次のように表示されます:
イメージ:15173.png

              



サブページ
Created: 15/01/07 22:50 by Admin Last update: 23/04/24 18:06 by Admin
カテゴリ
Powered by GXwiki 3.0