我无法跟踪对我的数据库的调用,它发布在 Azure 上,所以我收到了这个问题 - 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
现在我在 IIS 中有 OData 网站和 web 服务,使用 Visual Studio 2012 制作,它使用实体框架函数导入从 prcNew 获取数据。
因此,如果我使用“选择”字样调用 web 服务,试图从 prcNew 中仅获取 Col_2:
http://.../MyService.svc/prcNew?$select=Col_2
SQL Server 究竟会将哪些数据传递给 Web 服务?真的只有 Col_2 吗?如果它不会获取 Col_1 和 Col_3 - 它是否也会跳过计算过程中的那些列值?