原代码:DATEDIFF(dd, BB.ModifyDate, getdate()) < 2
优化点解析:
日期条件优化
原代码:DATEDIFF(dd, BB.ModifyDate, getdate()) < 2
优化后:BB.ModifyDate >= DATEADD(DAY, -2, GETDATE())
优点:改为>=比较后,查询是SARGable(Search Argument Able)的,可有效利用ModifyDate字段的索引,避免全表扫描。
去重逻辑优化
原代码:通过字符串拼接CAST排除重复记录
优化后:使用NOT EXISTS + 多字段直接比较
优点:
避免类型转换和字符串拼接开销
原代码
CAST(AA.F5602 AS nvarchar(100))+CAST(AA.F5603 AS nvarchar(100))
+CAST(AA.F5600 AS nvarchar(100)) NOT IN(SELECT CAST(RoleID AS nvarchar(100))+CAST(OperID AS nvarchar(100))+CAST(DeptID AS nvarchar(100)) FROM tabRoleOper);
优化后
NOT EXISTS (
SELECT 1
FROM tabRoleOper
WHERE
RoleID = AA.F5602
AND OperID = AA.F5603
AND DeptID = AA.F5600
);
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。