25.10.2011 15:07
Офисная база, задание на расчет ССР



Расчет выполняется несколько дней, завершается успешно.

Процесс висит на запросе
Код:
INSERT INTO ttsaleratedocs
            (article, createdat, isreturn, quantity)
   SELECT   s.article, d.createdat, DECODE (d.locationto, 60, '1', '0'),
            SUM (s.quantity)
       FROM smdocuments d, smspec s
      WHERE 60 IN (d.locationfrom, d.locationto)
        AND d.docstate = 3
        AND (   (d.doctype = 'WI' AND d.opcode = 15)
             OR (d.doctype = 'WO' AND d.opcode = 14)
             OR (d.doctype = 'WI' AND d.opcode = 11)
             OR (d.doctype = 'WO' AND d.opcode = 10)
             OR (d.doctype = 'WI' AND d.opcode = 3)
             OR (d.doctype = 'CR' AND d.opcode = 3)
             OR (d.doctype = 'WO' AND d.opcode = 1)
             OR (d.doctype = 'CS' AND d.opcode = 1)
            )
        AND s.doctype = d.doctype
        AND s.docid = d.ID
        AND s.article IN (
               SELECT r.article
                 FROM ttsalerate r
                WHERE r.storeloc = 60
                  AND d.createdat BETWEEN r.datefrom AND r.dateto
                  AND r.idoperswhere = 1
                  AND SUBSTR (r.includedays,
                              TO_NUMBER (TO_CHAR (d.createdat, 'D')),
                              1
                             ) = '1'
                  AND NOT EXISTS (
                         SELECT 1
                           FROM ttexcludedays e
                          WHERE e.article = s.article
                            AND e.storeloc = 60
                            AND d.createdat BETWEEN e.datefrom AND e.dateto
                            AND r.calcalg IN (2, 3, 4, 5)))
   GROUP BY s.article, d.createdat, DECODE (d.locationto, 60, '1', '0')
в ожидании db scateret read.
Сильно грузит проц.

Что он делает столько времени и как это побороть?!
25.10.2011 15:41
скриншот настроек посмотреть не удается. оптимизатор используется? за базой ухаживаете?
26.10.2011 12:21
Цитата:
OlegON скриншот настроек посмотреть не удается
Странно, у меня показывает.

Оптимизатор не используется.

За базой ухаживаю. Проблем с производительностью в общем-то нет.
26.10.2011 12:35
Теперь и мне показало, вчера этот хостинг лежал.. Если ухаживаешь, давай план...
26.10.2011 16:52
На ЦО и еще на одной из баз такой план:
Код:
INSERT STATEMENT, GOAL = ALL_ROWS			744	1	154	19331462	1
 HASH GROUP BY			744	1	154	19331462	1
  TABLE ACCESS BY GLOBAL INDEX ROWID	SUPERMAG	SMSPEC	1	1	27	2580	1
   NESTED LOOPS			742	1	154	19290226	1
    NESTED LOOPS			741	1	127	19287645	1
     TABLE ACCESS FULL	SUPERMAG	TTSALERATE	2	1	93	0	1
     TABLE ACCESS BY GLOBAL INDEX ROWID	SUPERMAG	SMDOCUMENTS	739	1	34	19287645	1
      INDEX RANGE SCAN	SUPERMAG	SMDOCUMENTS_CREATEDAT	674	2901		18458518	1
    INDEX RANGE SCAN	SUPERMAG	SMSPEC_ART	1	1		315	1
     FILTER							
      INDEX RANGE SCAN	SUPERMAG	TTCEXCLUDEDAYS_PK	1	1	58	4348	1
На паре других баз (маленьких) такой:
Код:
INSERT STATEMENT, GOAL = ALL_ROWS			8	1	144	36425738	1
 HASH GROUP BY			8	1	144	36425738	1
  FILTER							
   NESTED LOOPS			6	1	144	51401	1
    NESTED LOOPS			5	1	51	41980	1
     TABLE ACCESS BY INDEX ROWID	SUPERMAG	SMDOCUMENTS	2	1	29	17245	1
      BITMAP CONVERSION TO ROWIDS							
       BITMAP OR							
        BITMAP CONVERSION FROM ROWIDS							
         INDEX RANGE SCAN	SUPERMAG	SMDOCUMENTS_LOCFROM	1			8171	1
        BITMAP CONVERSION FROM ROWIDS							
         INDEX RANGE SCAN	SUPERMAG	SMDOCUMENTS_LOCTO	1			8171	1
     TABLE ACCESS BY INDEX ROWID	SUPERMAG	SMSPEC	3	36	792	24734	1
      INDEX RANGE SCAN	SUPERMAG	SMCSPEC_DISPLAYPOS	2	3		15893	1
    TABLE ACCESS BY INDEX ROWID	SUPERMAG	TTSALERATE	1	1	93	9422	1
     INDEX UNIQUE SCAN	SUPERMAG	TTCSALERATE_PK	0	1		1900	1
   FILTER							
    INDEX RANGE SCAN	SUPERMAG	TTCEXCLUDEDAYS_PK	2	1	58	14493	1
26.10.2011 20:10
Предлагаю оптимизатор.
Часовой пояс GMT +3, время: 05:51.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.