欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

left join 如何样提高查询效率

更新时间: 2014-01-05 02:22:49 责任编辑: Author_N1

 

left join 怎么样提高查询效率
            SELECT * FROM (SELECT
                 COALESCE(AA.SBCDNO,'#'),
                 COALESCE(AA.SBCUNO,'#'),
                 COALESCE(AA.SBSVAC,'#'),
                 COALESCE(SC.ECSKST,-9999),
                 COALESCE(SC.OLD_ECSKST,'#'),
                 COALESCE(SC.ECPS08,'#'), 
                 COALESCE(CA.TZCLDT1,'1900-01-01'),
                 COALESCE(CA.TZCLDT2,'1900-01-01'),
                 COALESCE(CA.TZCLDTM,'1900-01-01')
              FROM
                 T0DM.T0_SBSAA AA
                 LEFT JOIN  T0DM.T0_SCECA_CARD SC
                 ON AA.SBIQNO = SC.ECIQNO AND AA.SBSTCD = 'A'
                 LEFT JOIN  T1DM.T1_CARD_T001 CA
                 ON  AA.SBIQNO = CA.TZIQNO)
          UNION
           SELECT * FROM (SELECT
                 COALESCE(AB.SBCDNO,'#'),
                 COALESCE(SV.SECUNO,'#'),
                 COALESCE(AB.SBSVAC,'#'),
                 COALESCE(SC.ECSKST,-9999),
                 COALESCE(SC.OLD_ECSKST,'#'),
                 COALESCE(SC.ECPS08,'#'),
                 COALESCE(CA.TZCLDT1,'1900-01-01'),
                 COALESCE(CA.TZCLDT2,'1900-01-01'),
                 COALESCE(CA.TZCLDTM,'1900-01-01')
              FROM
                 T0DM.T0_SBSAB AB
                 LEFT JOIN  T0DM.T0_SCECA_CARD SC
                 ON AB.SBSVAC = SC.ECSVAC AND AB.SBSTCD = 'A'
                 LEFT JOIN  T1DM.T1_CARD_T001 CA
                 ON SC.ECIQNO = CA.TZIQNO
                 LEFT JOIN  T0DM.T0_SVSEA SV
                 ON SV.SESVAC=AB.SBSVAC)


比如像这个查询语句,关联了多张表,还需要用到UNION来去除重复的数据,之前测试的时候数据量少的时候都需要十几分钟,数据量上百万的时候跑2~3个小时都没结果,请各位大侠看看,能不能优化之类的。
我想是不是需要建一个索引?请指教。。。
--参考方法--
1、关联字段建立索引,查询条件建立索引
2、为什么有那么多COALESCE,不能事先update吗
--参考方法--
在连接字段上建立索引没有
--参考方法--
拆分成两个SQL语句,看看执行速度如何
--参考方法--
先看一下执行计划。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:22:49
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/9095/
本文WWW.DOC100.NET DOC100.NET版权所有。