Lentidao (view)

Firebird

06/03/2005

Amigos, bom dia.

Tenho uma Tabela de Produtos, 13.000 Itens +-, e uma outra, de Produtos Similares, +- 200 itens

preciso fazer um select para unir os itens.

resolvi fazer uma view:

CREATE VIEW TODOSPRODUTOS(
PSCODIGO,
PSDESCRICAO,
PSAPLICACAO,
PSNUMFABRICANTE,
PSNUMORIGINAL,
PSPRECO,
PSCUSTO,
PSMARGEM,
PSSIMILAR,
PSSALDO,
PSUNIDADE,
PSCODIGOMARCA,
PSCODIGOFORN,
PSCODIGOGRUPO,
PSFIGURA)
AS
SELECT PS.PSCODIGO,
PS.PSDESCRICAO,
PS.PSAPLICACAO,
PS.PSNUMFABRICANTE,
PS.PSNUMORIGINAL,
PS.PSPRECO,
PS.PSCUSTO,
PS.PSMARGEM,
PS.PSSIMILAR,
PS.PSSALDO,
PS.PSUNIDADE,
PS.PSCODIGOMARCA,
PS.PSCODIGOFORN,
PS.PSCODIGOGRUPO,
PS.PSFIGURA
FROM PRODUTOSIMIL PS
UNION ALL
SELECT PR.PRCODIGO,
PR.PRDESCRICAO,
PR.PRAPLICACAO,
PR.PRNUMFABRICANTE,
PR.PRNUMORIGINAL,
PR.PRPRECO,
PR.PRCUSTO,
PR.PRMARGEM,
PR.PRSIMILAR,
PR.PRSALDO,
PR.PRUNIDADE,
PR.PRCODIGOMARCA,
PR.PRCODIGOFORN,
PR.PRCODIGOGRUPO,
PR.PRFIGURA
FROM PRODUTO PR
LEFT JOIN FORNECEDOR F ON(F.FOCODIGO = PR.PRCODIGOFORN)
LEFT JOIN MARCA M ON(M.MACODIGO = PR.PRCODIGOMARCA)
LEFT JOIN GRUPO G ON(G.GRCODIGO = PR.PRCODIGOGRUPO)
;

bom.
Quando preciso fazer uma pesquisa, demora pouco, tá aceitavel, tipo, 2 segundos eu ja tenho o resultado.

so que:
tenho uma tabela de Ofertas.
Campos,
CodigoOferta, CodigoProduto, Preco, ItemSimilar.

ae, montei o codigo.

SELECT OD.*,
PR.PSDESCRICAO,
PR.PSAPLICACAO,
PR.PSSIMILAR
FROM OFDETALHE OD
LEFT JOIN TODOSPRODUTOS PR ON(PR.PSCODIGO = OD.ODPRCODIGO AND PR.PSSIMILAR = OD.ODPRSIMILAR)

WHERE
OD.ODCODIGO = :OF

Cara, esse select demora uns 10 segundos pra responder, retornando apenas 20 itens.

quando preciso navegar pelo grid, demora demais para o ponteiro se mover.

Nao sei como resolver.
Alguma dica, alternativa, solucao.

Obrigado.


PS:
Lembrando.
Tenho uma tabela de produtos,
outra de produtos similares,
os campos sao identicos.
1 produto que tem em Tabela de Produtos tambem pode estar em Tabela de Produtos Similares.


Preciso Unir estas informacoes num select.

Quando preciso ver os itens de uma Oferta, que amarra os campos com Tabela de Produtos e Tabela de Produtos Similares, ae o bicho ta pegando..



Obrigado a todos.


Pedih

Pedih

Curtidas 0

Respostas

Afarias

Afarias

06/03/2005

poste aqui o PLAN de execução da consulta.


T+


GOSTEI 0
Pedih

Pedih

06/03/2005

poste aqui o PLAN de execução da consulta. T+



Afarias, boa tarde.

Já resolvi.

Solucao: mudei completamente a estrutura do programa, criei uma tabela temporaria dos itens similares quando preciso fazer alguma alteracao, depois junto todos os itens novamente.

Ficou bom, o usuario nem percebe a transacao.

Mas obrigado pela atencao.


GOSTEI 0
POSTAR