* Oracle version: 9i
* Operating system: W2K
Dear, good morning!
Please, what is your suggestion for the plan in question?
SELECT STATEMENT Optimizer=CHOOSE (Cost=3186 Card=1 Bytes=275)
SORT (ORDER BY) (Cost=3186 Card=1 Bytes=275)
NESTED LOOPS (Cost=3183 Card=1 Bytes=275)
NESTED LOOPS (Cost=3182 Card=1 Bytes=207)
NESTED LOOPS (Cost=3181 Card=1 Bytes=183)
HASH JOIN (Cost=107 Card=1537 Bytes=196736)
NESTED LOOPS (Cost=90 Card=1092 Bytes=28392)
TABLE ACCESS (BY INDEX ROWID) OF ESTOQUE (Cost=90 Card=1092 Bytes=24024)
INDEX (RANGE SCAN) OF IN04_ESTOQUE (NON-UNIQUE) (Cost=2 Card=1092)
INDEX (UNIQUE SCAN) OF PK_UNIDMEDIDA (UNIQUE)
TABLE ACCESS (BY INDEX ROWID) OF LOTEMATERIAL (Cost=14 Card=29649 Bytes=3024198)
INDEX (RANGE SCAN) OF IN07_LOTEMATERIAL (NON-UNIQUE) (Cost=2 Card=1)
TABLE ACCESS (BY INDEX ROWID) OF SALDOESTQLOTEMAT (Cost=2 Card=1 Bytes=55)
INDEX (RANGE SCAN) OF IN02_SALDOESTQLOTEMAT (NON-UNIQUE) (Cost=1 Card=1)
TABLE ACCESS (BY INDEX ROWID) OF LOCALARMAZ (Cost=1 Card=1 Bytes=24)
INDEX (UNIQUE SCAN) OF PK_LOCALARMAZ (UNIQUE)
TABLE ACCESS (BY INDEX ROWID) OF MATERIAL (Cost=1 Card=1 Bytes=68)
INDEX (UNIQUE SCAN) OF PK_MATERIAL (UNIQUE)
SELECT SALDOESTQLOTEMAT.CDALMOX,
SALDOESTQLOTEMAT.ANOMESREF,
MATERIAL.CdMaterial "Cód.",
MATERIAL.nomaterial "Material",
MATERIAL.CdReferCli "Ref",
LOCALARMAZ.nolocalreduz "Local",
LOTEMATERIAL.DtInic " Inicio Validade",
LOTEMATERIAL.CdLoteForn "Lote Fornecedor",
LOTEMATERIAL.NRLOTEMAT || '-' || DECODE(LOTEMATERIAL.CDLOTEESTQ,
NULL,
LOTEMATERIAL.CDRASTREABILIDADE,
LOTEMATERIAL.CDLOTEESTQ) "Lote",
(SALDOESTQLOTEMAT.QTDEINICIAL + SALDOESTQLOTEMAT.QTDEENTRADAS - SALDOESTQLOTEMAT.QTDESAIDAS - SALDOESTQLOTEMAT.QTDECOMPROM - SALDOESTQLOTEMAT.QTDEBLOQUEADA) "Qtde. disponível",
(SALDOESTQLOTEMAT.QTDEINICIAL + SALDOESTQLOTEMAT.QTDEENTRADAS - SALDOESTQLOTEMAT.QTDESAIDAS) "Qtde. total",
LOTEMATERIAL.DTFIM "Vencimento"
FROM SALDOESTQLOTEMAT,
MATERIAL,
LOCALARMAZ,
LOTEMATERIAL,
ESTOQUE,
UNIDMEDIDA
WHERE LOTEMATERIAL.CDALMOX = 26
AND LOTEMATERIAL.CDMATERIAL = SALDOESTQLOTEMAT.CDMATERIAL
AND LOTEMATERIAL.CDALMOX = SALDOESTQLOTEMAT.CDALMOX
AND LOTEMATERIAL.NRLOTEMAT = SALDOESTQLOTEMAT.NRLOTEMAT
AND LOTEMATERIAL.CDPESSOAEMP = SALDOESTQLOTEMAT.CDPESSOAEMP
AND SALDOESTQLOTEMAT.CDMATERIAL = MATERIAL.CDMATERIAL
AND SALDOESTQLOTEMAT.CDALMOX = LOCALARMAZ.CDALMOX
AND SALDOESTQLOTEMAT.CDLOCAL = LOCALARMAZ.CDLOCAL
AND SALDOESTQLOTEMAT.FLGSALDOATUAL ='S'
AND UNIDMEDIDA.CDUNIDMED = ESTOQUE.CDUNIDMED
AND LOTEMATERIAL.CDALMOX = ESTOQUE.CDALMOX
AND LOTEMATERIAL.CDMATERIAL = ESTOQUE.CDMATERIAL
AND (SALDOESTQLOTEMAT.QtdeInicial + SALDOESTQLOTEMAT.QtdeEntradas - SALDOESTQLOTEMAT.QtdeSaidas - SALDOESTQLOTEMAT.QtdeComprom - SALDOESTQLOTEMAT.QtdeBloqueada) > 0
ORDER BY SALDOESTQLOTEMAT.CDALMOX, SALDOESTQLOTEMAT.CDMATERIAL
Tabela / Rows
ESTOQUE 87320
LOCALARMAZ 34759
LOTEMATERIAL 2045809
MATERIAL 62057
SALDOESTQLOTEMAT 21298013
UNIDMEDIDA 45