专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Oracle技术

sql 话语、性能优化

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
sql 语句、性能优化

SELECT      
*      
FROM         
(
       SELECT 
       ROWNUM NUM,TEMP1.*           
       FROM    
       (
              SELECT 
              DISTINCT   
              C1.*,
              C2.*,
              C4.*,
              C5.*,
              C6.*,
              C7.*  
              FROM 
              CUSTOMER C1   
              LEFT JOIN B ON C1.ID = B.ID   
              LEFT JOIN C2 ON C1.ID = C2.ID   
              LEFT JOIN C3 ON C1.ID = C3.ID    
              LEFT JOIN C4 ON C1.ID = C4.ID   
              LEFT JOIN C5 ON C1.ID = C5.ID  
              LEFT JOIN C6 ON C1.ID = C6.ID   
              LEFT JOIN C7 ON C6.ID = C7.ID 
              LEFT JOIN C8 ON C1.ID = C8.ID    
              LEFT JOIN C9 ON C1.ID = C9.ID   
              LEFT JOIN C10 ON C1.ID = C10.ID   
              LEFT JOIN C11 ON C10.ID = C11.ID   
              WHERE        
              B.CODE IN('1','2','3','4')                
              AND    
              (
                C1.NAME LIKE '%张%'
          OR C9.NAME LIKE '%张%'
              )  
              AND    
              (
                C3.CONTACT = '13112345678'     
                OR C8.CONTACT = '13112345678'      
                OR C9.MOBILE = '13112345678'      
                OR C11.PHONE = '13112345678' 
              )           
              ORDER BY C1.CUSTOMER_ID DESC   
        )TEMP1   
        WHERE        
        ROWNUM <=10           
) TEMP2   
WHERE         
TEMP2.NUM >=1 


备注:
主表、关联表数据太多,一查询就块卡死,不能用Inner join 有的关联表没数据,主要是查询条件要管理几张表,不能去掉

------解决思路----------------------
给出执行计划
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: