Как можно оптимизровать sql запрос?

на оракле создаю запрос, но выдает запрос с большой очень большой задержкой, с sql запросами не работал раньше, даже незнаю куда копать. В курсе что от LEFT JOIN итд стоит отказаться

SELECT article, 
       cardname, 
       ctg_code, 
       subgrp_name, 
       ctg_name, 
       status_text, 
       last_income_dt, 
       last_income_cl, 
       accprice, 
       sales, 
       remains_on_end, 
       cashprice, 
       extracharge, 
       extracharge_art/100, 
       step, 
       minprice, 
       sales_to, 
       profit, 
       CASE sales_to WHEN 0 THEN 0 
                     ELSE profit/sales_to*100 END margin, 
       inAuction, 
       ( SELECT rate 
         FROM supermag.smaltunits a 
         WHERE a.article=s.article AND a.altunit=2) volume 
FROM ( SELECT s.*, 
              CASE status WHEN 1 THEN 'Активна' 
                          WHEN 2 THEN 'Неактивна' 
                          ELSE 'Не определено' END status_text, 
              CASE accprice WHEN 0 THEN 0 
                            ELSE cashprice/accprice-1 END extracharge, 
              CASE status WHEN 1 THEN sales*cashprice 
                          WHEN 2 THEN remains_on_end*cashprice 
                          ELSE 0 END sales_to, 
              (cashprice-accprice) * CASE status WHEN 1 THEN sales 
                                                 WHEN 2 THEN remains_on_end 
                                                 ELSE 0 END profit, 
              supermag.classifier.NORMALIZECLASSIF(ctg_code) ctg, 
              TO_CHAR(d.createdat,'dd.mm.yyyy') last_income_dt, 
              ( SELECT name 
                FROM supermag.smclientinfo c 
                WHERE c.id=d.clientindex) last_income_cl 
       FROM supermag.rep$pricecut s 
       LEFT OUTER JOIN supermag.smdocuments d ON d.doctype='WI' AND d.id=s.last_income 
       ORDER BY ctg ASC, article ASC) s

Ответы (0 шт):