我继承了下面的语句ISNULL(NULLIF(...))语句的T-SQL的性能:如何提高含
SELECT ISNULL((SELECT (-1)*SUM(CAST(ISNULL(NULLIF(TOTALMTDLCY,''),0) AS DECIMAL(20,5)))
FROM TI),0)
,尽管我知道它的努力做(防止空值和返回0)我觉得必须有一个更高效的方式来做到这一点?
原因是我有一个sproc使用这个语句12次从40,000个客户(480,000)获取不同表中的值,然后为每个(1.5M)插入三条记录。
这需要大约13分钟才能完成 - 通过对过程收集了一些简单的统计和汇总他们来说,这表明,虽然采取了12个财务报表的实际时间是00:00.015,总时间因此约为10分钟。
所以,我的想法是,如果我可以加快这个过程,那么我可以加快我的sproc?
什么是'TOTALMTDLCY'的数据类型? –
varchar(25)不幸:( – BlueChippy
ISNULL和NULLIF不是你的perf问题的原因,你为什么认为这些函数的原因是什么? – usr