Caros colegas,
 
estou com um problema de performance numa query. Tentei algumas t�cnicas para otimiza-la mas nao obtive exito.
Mostrarei abaixo um exemplo :
 
 
TBL01
--------------
COD_PRD
DCR_PRD
 
 
TBL02
--------------
COD_PRD
COD_LOJA
PRECO_VENDA
 
obs: Os precos s�o diferenciados para as lojas
 
 
TBL03
--------------
COD_PRD
COD_LOJA
COD_DET
QTD_ETQ
 
 
obs: CODDET = detalhe do produto (tamanho, Cor, etc.)
       QTD_ETQ= quantidade de estoque do produto
 
Exemplo de Pesquisa:
 
SELECT
    A.COD_PRD,   DCR_PRD,     B.COD_LJA,    COD_DET,  QTD_ETQ , PRECO_VENDA
FROM
    TBL01 A,TBL02 B,TBL03 C
WHERE
    DCR_PRD LIKE "SAPATO%" and
    A.COD_PRD = B.COD_PRD AND
    B.COD_PRD=C.CODPRD AND
    B.CODLJA = C.CODLJA
 
resultado da pesquisa:
 
 
C�digo ; Descri��o ; Loja ; Detalhe ; Estoque ; Pre�o
-----------------------------------------------------------------------------------------------
100 ;  SAPATO SANDALO COURO ;  1 ; PRETO ; 10 ; R$ 70,00
100 ;  SAPATO SANDALO COURO ;  2 ; PRETO ;  5 ;  R$ 75,00 
100 ;  SAPATO SANDALO COURO ;  3 ; PRETO ;  0 ;  R$ 80,00
100 ;  SAPATO SANDALO COURO ;  1 ; MARROM ; 10 ; R$ 70,00
100 ;  SAPATO SANDALO COURO ;  2 ; MARROM ;  5 ;  R$ 75,00 
100 ;  SAPATO SANDALO COURO ;  3 ; MARROM ;  0 ;  R$ 80,00
200 ;  SAPATO SAMELO COURO ;  1 ; PRETO ; 7 ; R$ 50,00
200 ;  SAPATO SAMELO COURO ;   2 ; PRETO ;  3 ;  R$ 65,00 
200 ;  SAPATO SAMELO COURO ;   3 ; PRETO ;  2 ;  R$ 70,00
200 ;  SAPATO SAMELO COURO ;  1 ; BRANCO ; 7 ; R$ 50,00
200 ;  SAPATO SAMELO COURO ;   2 ; BRANCO ;  3 ;  R$ 65,00 
200 ;  SAPATO SAMELO COURO ;   3 ; BRANCO ;  2 ;  R$ 70,00
.........
........
.......
 
 
O problema � o tempo da pesquisa (2 minutos) principalmente quando o numero de lojas cresce(20 por exemplo).
A central de distribui��o precisa visualizar, ao mesmo tempo, o estoque do produto em todas as lojas, quando a pesquisa
� feita pelo c�digo o tempo � aceit�vel mas pela descri��o � terrivel.
 
obs: a estrutura apresentada no exemplo � muito simples, deixando at� a impress�o que a tbl02 n�o � necess�ria, mas outros campos � justificam.
 
 
O que eu poderia fazer para melhorar o tempo de pesquisa ?
 
Como eu poderia criar um �ndice adequado � pesquisa com essas tabelas ?
 
Agrade�o antecipadamente.
 
 
Reginaldo
 
 
 
 
 
 
 
 

Responder a