我继承了以下声明:
SELECT ISNULL((SELECT (-1)*SUM(CAST(ISNULL(NULLIF(TOTALMTDLCY,''),0) AS DECIMAL(20,5)))
FROM TI),0)
虽然我知道它要做什么(防止空值并返回 0),但我觉得必须有一种更高效的方法来做到这一点?
原因是我有一个存储过程,它使用此语句 12 次从不同的表中获取值,用于 40,000 个客户 (480,000),然后为每个 (1.5M) 插入三个记录。
这需要大约 13 分钟才能完成 - 通过收集有关该过程的一些简单统计数据并将它们汇总,它表明虽然 12 条语句的实际时间是 00:00.015,但总时间因此约为 10 分钟。
所以,我的想法是,如果我可以加快这个过程,那么我可以加快我的存储过程吗?