plan join natural
Caros amigos do fórum DevMedia por favor teria como alguem dar uma dica como eliminar um plan join natural da consulta abaixo.
select bp.bp_id_baixaprod,
bp.bp_id_ccusto,
bp.bp_dtemissao,
bp.bp_status,
cc.cc_descricao,
cc.cc_responsa
from es_baixaprod bp
inner join es_ccusto cc on cc.cc_id_ccusto = bp.bp_id_ccusto
continuando o campo cc.cc_id_ccusto é um campo primary key e o campo bb.bb_id_ccusto é um foreign key referênciado a tabela es_ccusto quando executo a consulta acima utilizando o inner ou left join o plan join da consulta sempre aparece assim:
Plano
PLAN JOIN (BP NATURAL, CC INDEX (PK_ES_CCUSTO))
Plano Adaptado
PLAN JOIN (BP NATURAL, CC INDEX (PK_ES_CCUSTO))
segundo informações quando aparece um plan join natural isso significa que a consulta demora mais para retornar os registros alguem tem uma susgestão.
Obrigado
select bp.bp_id_baixaprod,
bp.bp_id_ccusto,
bp.bp_dtemissao,
bp.bp_status,
cc.cc_descricao,
cc.cc_responsa
from es_baixaprod bp
inner join es_ccusto cc on cc.cc_id_ccusto = bp.bp_id_ccusto
continuando o campo cc.cc_id_ccusto é um campo primary key e o campo bb.bb_id_ccusto é um foreign key referênciado a tabela es_ccusto quando executo a consulta acima utilizando o inner ou left join o plan join da consulta sempre aparece assim:
Plano
PLAN JOIN (BP NATURAL, CC INDEX (PK_ES_CCUSTO))
Plano Adaptado
PLAN JOIN (BP NATURAL, CC INDEX (PK_ES_CCUSTO))
segundo informações quando aparece um plan join natural isso significa que a consulta demora mais para retornar os registros alguem tem uma susgestão.
Obrigado
Emersonsj
Curtidas 0
Respostas
Joaoshi
20/07/2006
Colega você precisa colocar um WHERE para es_baixaprod
Espero ter ajudado.
Espero ter ajudado.
GOSTEI 0
Emersonsj
20/07/2006
Primeiro gostaria de agradecer pela dica, mas eu não coloquei o where porque eu quero trazer todos os registro para minha grade, eu até poço colocar o where dessa forma where (Param = 0 or bp.bp_id_baixaprod = Param) tudo bem assi eu conseguo trazer todos quando o param for igual a zero.
Gostaria de saber se esta correto quendo eu coloco um order by na consulta o plano fica assim PLAN (ES_EMPRESA ORDER PK_ES_EMPRESA)
não trazendo mais o NATURAL, se eu utilizar desse recurso em algumas consulta que não precisa colocar o where esta correto.
Gostaria de saber se esta correto quendo eu coloco um order by na consulta o plano fica assim PLAN (ES_EMPRESA ORDER PK_ES_EMPRESA)
não trazendo mais o NATURAL, se eu utilizar desse recurso em algumas consulta que não precisa colocar o where esta correto.
GOSTEI 0