Slow query
From: astalavista <nobody_at_nowhere.com>
Date: Tue, 1 Jul 2008 21:34:31 +0200
Message-ID: <486a86c5$0$7233$426a74cc@news.free.fr>
| Id | Operation | Name
| Rows | Bytes |TempSpc| Cost |
| 0 | SELECT STATEMENT |
| 196K| 85M| | 51394 |
| 1 | SORT ORDER BY |
| 196K| 85M| 180M| 51394 |
30 - access("DC0"."NRID"="DC6"."DC0_NRID" AND "DC6"."AP01_NAME"='Qté Totale Cdée')
31 - filter(UPPER("AM0_1"."FONCTION") LIKE '%S%CLIENT%') 32 - access("AM0_1"."TITULAIRE"=:Z)
Date: Tue, 1 Jul 2008 21:34:31 +0200
Message-ID: <486a86c5$0$7233$426a74cc@news.free.fr>
Hi,
Is it possible to speed up this query ?
Thanks in advance
9.2.0.6
2 SELECT dc0.nrid, dc0.so0_nrid, dc0.etat,
3 TO_CHAR (dc0.date_creat, 'DD/MM/YYYY') "dc0.date_creat", 4 w.remark "Modif Groupement", y.remark "Ecart Coop", 5 u.remark "Nom Précommande", z.remark "Amex", x.remark "Commentaires", 6 TO_CHAR (dc0.dat5, 'DD/MM/YYYY') "dc0.dat5", dc0.REF, dc0.netat, 7 so0.var53 "CIP", so0.societe "Pharmacie", so0.code_post "CP", 8 so0.loc "Ville", so0.concur "VIP", so0.var18 "Segment", 9 dc0.titulaire "Preneur ordre", depos.societe "Dépositaire Cde", 10 TRUNC (dc0.num4, 2) "CA Cde", t.remark "Qté Cde", 11 TRUNC (dc0.num12, 2) "P.C.", dc0.etat, dc0.code_dep, dc0.niv, 12 dc0.TYPE, dc0.netat 13 FROM bcrm.dc0 dc0, 14 bcrm.so0 so0, 15 bcrm.so0 depos, 16 (SELECT /*+ first_rows index(dc6) */ 17 dc0_nrid, ap01_name, remark 18 FROM bcrm.dc6) z, 19 (SELECT /*+ first_rows index(dc6) */ 20 dc0_nrid, ap01_name, remark 21 FROM bcrm.dc6) y, 22 (SELECT /*+ first_rows index(dc6) */ 23 dc0_nrid, ap01_name, remark 24 FROM bcrm.dc6) x, 25 (SELECT /*+ first_rows index(dc6) */ 26 dc0_nrid, ap01_name, remark 27 FROM bcrm.dc6) w, 28 (SELECT /*+ first_rows index(dc6) */ 29 dc0_nrid, ap01_name, remark 30 FROM bcrm.dc6) u, 31 (SELECT /*+ first_rows index(dc6) */ 32 dc0_nrid, ap01_name, remark 33 FROM bcrm.dc6) t 34 WHERE dc0.so0_nrid = so0.nrid 35 AND dc0.TEMPLATE IS NULL 36 AND TO_NUMBER (dc0.var22) = depos.nrid(+) 37 AND dc0.nrid = t.dc0_nrid(+) 38 AND t.ap01_name = 'Qté Totale Cdée' 39 AND dc0.nrid = z.dc0_nrid(+) 40 AND z.ap01_name(+) = 'Commentaire : AMEX' 41 AND dc0.nrid = y.dc0_nrid(+) 42 AND y.ap01_name(+) = 'Commentaire : Modif. PC' 43 AND dc0.nrid = x.dc0_nrid(+) 44 AND x.ap01_name = 'Commentaire' 45 AND dc0.nrid = w.dc0_nrid(+) 46 AND w.ap01_name(+) = 'Commentaire : Modif. Gpt' 47 AND dc0.nrid = u.dc0_nrid(+) 48 AND u.ap01_name(+) = 'Commentaire : Précommande' 49 AND dc0.etat IN 50 ('A valider par SCLI', 'Validée par SCLI', 'A compléter par SCOM') 51 AND EXISTS ( 52 SELECT NULL 53 FROM am0 am0_1 54 WHERE am0_1.titulaire = :1 55 AND UPPER (am0_1.fonction) LIKE '%S%CLIENT%')56 ORDER BY 3, 12, 8, 9, 10, 11, 13 DESC 57 /
| Id | Operation | Name
| Rows | Bytes |TempSpc| Cost |
| 0 | SELECT STATEMENT |
| 196K| 85M| | 51394 |
| 1 | SORT ORDER BY |
| 196K| 85M| 180M| 51394 |
|* 2 | FILTER |
| | | | |
| 3 | TABLE ACCESS BY INDEX ROWID | DC6
| 2 | 62 | | 1 |
| 4 | NESTED LOOPS |
| 196K| 85M| | 38123 |
| 5 | NESTED LOOPS |
| 123K| 49M| | 31970 |
| 6 | NESTED LOOPS OUTER |
| 108K| 40M| | 26558 |
| 7 | NESTED LOOPS OUTER |
| 99237 | 34M| | 21597 |
| 8 | NESTED LOOPS OUTER |
| 91033 | 28M| | 17045 |
| 9 | NESTED LOOPS OUTER |
| 83582 | 23M| | 12866 |
| 10 | NESTED LOOPS OUTER |
| 76786 | 19M| | 9027 |
| 11 | NESTED LOOPS |
| 76786 | 15M| | 5187 |
| 12 | INLIST ITERATOR |
| | | | |
|* 13 | TABLE ACCESS BY INDEX ROWID | DC0
| 76786 | 8323K| | 1347 |
| 14 | BITMAP CONVERSION TO ROWIDS|
| | | | |
|* 15 | BITMAP INDEX SINGLE VALUE | INDB_DC0_ETAT
| | | | |
| 16 | TABLE ACCESS BY INDEX ROWID | SO0
| 1 | 107 | | 1 |
|* 17 | INDEX UNIQUE SCAN | PK_SO0NRID
| 1 | | | |
| 18 | TABLE ACCESS BY INDEX ROWID | SO0
| 1 | 51 | | 1 |
|* 19 | INDEX UNIQUE SCAN | PK_SO0NRID
| 1 | | | |
| 20 | TABLE ACCESS BY INDEX ROWID | DC6
| 1 | 31 | | 1 |
|* 21 | INDEX RANGE SCAN | IND_DC6_DC0_NRID_AP01_NAME | 1 | | | |
| 22 | TABLE ACCESS BY INDEX ROWID | DC6
| 1 | 31 | | 1 |
|* 23 | INDEX RANGE SCAN | IND_DC6_DC0_NRID_AP01_NAME | 1 | | | |
| 24 | TABLE ACCESS BY INDEX ROWID | DC6
| 1 | 31 | | 1 |
|* 25 | INDEX RANGE SCAN | IND_DC6_DC0_NRID_AP01_NAME | 1 | | | |
| 26 | TABLE ACCESS BY INDEX ROWID | DC6
| 1 | 31 | | 1 |
|* 27 | INDEX RANGE SCAN | IND_DC6_DC0_NRID_AP01_NAME | 1 | | | |
| 28 | TABLE ACCESS BY INDEX ROWID | DC6
| 1 | 31 | | 1 |
|* 29 | INDEX RANGE SCAN | IND_DC6_DC0_NRID_AP01_NAME | 1 | | | | |* 30 | INDEX RANGE SCAN | IND_DC6_DC0_NRID_AP01_NAME | 1 | | | | |* 31 | TABLE ACCESS BY INDEX ROWID | AM0
| 1 | 29 | | 1 |
|* 32 | INDEX UNIQUE SCAN | IND_AM0_TITULAIRE
| 1 | | | 1 |
----------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
2 - filter( EXISTS (SELECT /*+ */ 0 FROM "BXAT"."AM0" "AM0_1" WHERE "AM0_1"."TITULAIRE"=:Z AND
UPPER("AM0_1"."FONCTION") LIKE '%S%CLIENT%')) 13 - filter("DC0"."TEMPLATE" IS NULL) 15 - access("DC0"."ETAT"='A compléter par SCOM' OR "DC0"."ETAT"='A valider par SCLI' OR "DC0"."ETA par SCLI') 17 - access("DC0"."SO0_NRID"="SO0"."NRID")19 - access("DEPOS"."NRID"(+)=TO_NUMBER("DC0"."VAR22")) 21 - access("DC0"."NRID"="DC6"."DC0_NRID"(+) AND "DC6"."AP01_NAME"(+)='Commentaire : Modif. PC') 23 - access("DC0"."NRID"="DC6"."DC0_NRID"(+) AND "DC6"."AP01_NAME"(+)='Commentaire : AMEX') 25 - access("DC0"."NRID"="DC6"."DC0_NRID"(+) AND "DC6"."AP01_NAME"(+)='Commentaire : Modif. Gpt') 27 - access("DC0"."NRID"="DC6"."DC0_NRID"(+) AND "DC6"."AP01_NAME"(+)='Commentaire : Précommande') 29 - access("DC0"."NRID"="DC6"."DC0_NRID" AND "DC6"."AP01_NAME"='Commentaire')
30 - access("DC0"."NRID"="DC6"."DC0_NRID" AND "DC6"."AP01_NAME"='Qté Totale Cdée')
31 - filter(UPPER("AM0_1"."FONCTION") LIKE '%S%CLIENT%') 32 - access("AM0_1"."TITULAIRE"=:Z)
Note: cpu costing is off
59 rows selected.
Elapsed: 00:00:00.08
>
No virus found in this incoming message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 270.4.3/1526 - Release Date: 30/06/2008
08:43
Received on Tue Jul 01 2008 - 14:34:31 CDT