什么是更好的选择(性能明智)内联标量UDF,或SQL 2012中的外部应用

时间:2014-04-04 23:00:12

标签: sql database-performance

我目前正在使用更大,更复杂的版本:

Select A.Address, A.City, A.State, A.Zip, S.MeterNumber, Ac.AccountNumber, C.CustomerName,
uci.fnGetAttribute(S.ServiceID, 'AMW') as Avg1Mw,
uci.fnGetAttribute(S.ServiceID, 'RateCode') as Rate

from Address a inner join Service s on a.addressid = s.serviceid
inner join vwAccountService v on s.serviceid = v.serviceid
inner join Account ac on v.accountid = ac.accountid
inner join Customer on ac.customerid = c.customerid

该函数从每月有一个条目的历史数据表中收集请求的最新属性。

外表适用在表现上会更好吗?或者有更好的构造吗?

2 个答案:

答案 0 :(得分:1)

1)编写您要测试的查询

2)单击SQL Server Management Studio中的"Include Actual Execution Plan"按钮

3)运行两个查询,它将显示它们彼此之间的表现。有人可能会说它使用了两个查询所用资源的80%。这意味着另一个更好。

答案 1 :(得分:1)

我的直觉告诉我一个交叉应用,但真正的测试将是他们如何对你的实际数据执行。这将部分取决于UDF实际在做什么。