Fórum Lentidao (view) #49695
06/03/2005
0
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.
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
Curtir tópico
+ 0
Responder
Posts
07/03/2005
Afarias
poste aqui o PLAN de execução da consulta.
T+
T+
Responder
Gostei + 0
07/03/2005
Pedih
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.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)