Azure に投稿された自分の DB への呼び出しを追跡できないため、この質問を受けました。SQL サーバーは実際にどのくらいの作業を行うのでしょうか?
テーブルを返すこのストアド プロシージャがあります。
CREATE PROCEDURE prcNew AS
CREATE TABLE @tblTemp
Col_1
Col_2
Col_3
.....................
/* @tblTemp filled something like this */
INSERT INTO @tblTemp
SELECT SUM(tblExisting.Col_1)
SELECT SUM(tblExisting.Col_2)
SELECT SUM(tblExisting.Col_3)
.....................
SELECT * FROM @tblTemp
GO
現在、Visual Studio 2012で作成されたIISにOData WebサイトとWebサービスがあり、Entity Framework関数のインポートを使用してprcNewからデータを取得しています。
したがって、「select」ワードで webservice を呼び出すと、prcNew から Col_2 のみを取得しようとします。
http://.../MyService.svc/prcNew?$select=Col_2
SQL Server が Web サービスに渡す正確なデータは何ですか? 本当に Col_2 だけでしょうか?Col_1 と Col_3 をフェッチしない場合、プロシージャ内でこれらの列の値の計算もスキップしますか?