初学SQL,求救优化SQL语句

anndey 2015-11-13 10:52:35
今天写了个语句,但是执行起来真的很慢,请大家帮忙优化一下,原SQL:

insert into ZDIDAN(DD01,DD02,DD03) SELECT TD004,SUM(TD08),'O' FROM (SELECT TD004,TD008+TD024-TD009-TD025 TD08 from COPTD where TD021 = 'Y' AND TD016 = 'N' AND TD008+TD024-TD009-TD025 > 0 union all SELECT TB003,TB004-TB005 FROM MOCTB left join MOCTA ON TB001+TB002=TA001+TA002 WHERE TA013='Y' AND TA011 < 'Y' AND TB004>TB005)B GROUP BY TD004


确认有效,即刻结贴。
...全文
102 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
等不到来世 2015-11-13
  • 打赏
  • 举报
回复
看你的where条件,可以把left join改为inner join. 只能帮你到这了。
comma212164 2015-11-13
  • 打赏
  • 举报
回复
好像是易飞的库,执行计划参考下面
http://bbs.csdn.net/topics/390300746?page=1
anndey 2015-11-13
  • 打赏
  • 举报
回复
执行计划?是什么意思啊,我不明白。
Yole 2015-11-13
  • 打赏
  • 举报
回复

SELECT TD004,SUM(TD08),'O' FROM (SELECT TD004,TD008+TD024-TD009-TD025 TD08 from COPTD where TD021 = 'Y' AND TD016 = 'N' AND TD008+TD024-TD009-TD025 > 0 union all SELECT TB003,TB004-TB005 FROM MOCTB left join MOCTA ON TB001+TB002=TA001+TA002 WHERE TA013='Y' AND TA011 < 'Y' AND TB004>TB005)B GROUP BY TD004
这个语句看一下执行计划。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧