Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcelo Sancher Macorim

Problema com left join

Recommended Posts

Boa noite!

 

Há dias batendo a cabeça com uma consulta simples utilizando left join, mas não sei o porque na hora de executar a query não consulta e fica apenas executando. Preciso de ajuda.

 

Há 2 tabelas, saldoProduto e valorProduto, segue scripts abaixo.

AO fazer a consulta com left join, simplesmente a query fica apenas executando. Segue comando abaixo:

 

Preciso de ajuda, não sei mais o que fazer e não consigo descobrir o problema. Obrigado.

 

select a.cdemp,
a.cdreferencia,
a.cdproduto,
a.cdseqgrupo,
v.customediosemimposto,
v.ultimacompra,
v.vltransferencia
FROM (intranet.saldoproduto a left join
intranet.valorproduto v on
(a.cdseqgrupo = v.cdseqgrupo))
where a.cdemp = 3
and a.dtsaldo < '2013-09-01'
order by a.cdproduto;

 

DROP TABLE IF EXISTS `intranet`.`saldoproduto`;
CREATE TABLE `intranet`.`saldoproduto` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cdEmp` int(10) unsigned NOT NULL,
`cdSeqGrupo` int(10) unsigned NOT NULL,
`cdProduto` int(10) unsigned NOT NULL,
`cdReferencia` varchar(45) NOT NULL,
`qtSaldo` double NOT NULL,
`dtSaldo` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=158935 DEFAULT CHARSET=latin1;

 

DROP TABLE IF EXISTS `intranet`.`valorproduto`;
CREATE TABLE `intranet`.`valorproduto` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`cdReferencia` varchar(255) DEFAULT NULL,
`cdSeqGrupo` int(11) NOT NULL,
`custoMedioSemImposto` double NOT NULL,
`dtValor` date DEFAULT NULL,
`ultimaCompra` double NOT NULL,
`vlTransferencia` double NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6666 DEFAULT CHARSET=latin1;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tabelas tem indices ?

 

Estatisticas atualizadas ?

 

Foi feito o plano de execucao da query ?

 

Qual a qtd de registros das tabelas ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Motta

 

Descupe por minha ignorancia, mas nao tenho os indices criado, entao tenho uma duvida: Devo criar indice para cada campo da tabela ou somente da PK?

 

O que seria as estatisticas atualizadas ?

 

O que seria o plano de execução de query?

 

Na tabela valorproduto = 3459 registros

Na tabela saldoproduto = 158896 registros



Bom dia roberto

 

De que forma posso te passar o script com os dados ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim

 

eh como envio os arquivos para vc, no seu email ?

 

 

Olá

 

 

 

estou com os scripts exportadors, como poso te enviar?

 

segue o resultado do explain

 

1 queries executed, 1 success, 0 errors, 0 warnings

 

Query: EXPLAIN EXTENDED select a.cdemp, a.cdreferencia, a.cdproduto, a.cdseqgrupo, v.customediosemimposto, v.ultimacompra, v.vltransfer...

 

2 row(s) returned

 

Execution Time : 0.020 sec

Transfer Time : 0 sec

Total Time : 0.020 sec

 

id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE a ALL (NULL) (NULL) (NULL) (NULL) 159297 Using where; Using temporary; Using filesort 1 SIMPLE v ALL (NULL) (NULL) (NULL) (NULL) 3227

 

 

id select_type table type possible_keys key key_len ref rows filtered Extra 1 SIMPLE a ALL (NULL) (NULL) (NULL) (NULL) 159297 100.00 Using where; Using temporary; Using filesort 1 SIMPLE v ALL (NULL) (NULL) (NULL) (NULL) 3452 100.00

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.