语句如下SELECT a.item_desc,a.targer_org_code,a.targer_sub_code,a.send_date, '调拨入库' ordertype ,a.txn_number,d.line_status
FROM tg_org_transfer a LEFT JOIN tg_record b ON a.txn_number=b.recordcode AND a.item_num=b.item_num 
LEFT JOIN tg_barcode_history c ON a.txn_number=c.billcode AND a.item_num=c.item_num INNER JOIN tg_org_transfer_lines@BARCODE01_ERP01 d ON a.line_id=d.line_id
WHERE b.IDX IS NULL AND send_date>to_date('2013-3-6','yyyy-mm-dd') AND send_date<to_date('2013-3-8','yyyy-mm-dd')

解决方案 »

  1.   

    就单单 这个sql的语句能不能做优化?
      

  2.   

    不知是否要求必须一条语句完成查询,若无要求可这样:
    1.对a表使用条件过滤得到尽量少记录
      WHERE send_date > to_date('2013-3-6', 'yyyy-mm-dd')
       AND send_date < to_date('2013-3-8', 'yyyy-mm-dd')
    2.做inner join d 表
    3.left join b 表
    第二第三步可能需要根据实际数据做先后调整
    总的思路就是先减少数据量再关联
    c 表的作用没看出来
      

  3.   


    +1优化sql,最基本的索引情况应该说出来,不然优化个P