[firebase-br] PLAN natural, porque?
omar l m rosa
omarrosa em terra.com.br
Seg Jan 29 10:45:48 -03 2007
Pequena correção:
Uso o 1.5 há tempos... Nunca deu pau!!!
instalei o Fb 2.0 na minha maquina e detectei o problema.
instalei o 2.01 RC e voltou ao normal...
o inseto IMHO e´ no 2.0
Bai!
----- Original Message -----
From: "Henrique Netzka (Vetor Sistemas)" <henrique em vetorsistemas.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, January 29, 2007 7:49 AM
Subject: Re: [firebase-br] PLAN natural, porque?
Omar,
Nada contra sua solução, e por favor não me leve a mal! Mas acho que não era
um "bug" do 1.5 ... Utilizamos aqui o FB 1.5 em muitos clientes e nunca tive
problemas parecidos, e temos queries muito maiores... Eu ainda insisitiria
que faltava uma FK (que é índice) entre as tabelas, e por isso o otimizador
"não se achava"... Mas se já resolveu, beleza!! Isso que importa...
Abraços
Henrique
----- Original Message -----
From: "omar l m rosa" <omarrosa em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Sunday, January 28, 2007 10:44 AM
Subject: Re: [firebase-br] PLAN natural, porque?
Não!
Justamente é o que está acontecendo e não pode acontecer.
Se o FB não usar o índice, vai varrer todas as linhas da tabela....
Desconfiei de algo errado justamente por usar em modo local na minha máquina
de desenvolvimento levou 3 segundos para abrir o que era instantâneo no FB
1.5...
Daí fui verificar p PLAN e vi o que vi.
mas instalei o FB 2.01 para testar e o PLAN veio certo agora...
Bai!
----- Original Message -----
From: "Eduardo Jedliczka (TeamFB)" <jedyfb em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, January 26, 2007 8:56 PM
Subject: Re: [firebase-br] PLAN natural, porque?
Você realmente precisa de 16000 linhas na janela do cliente ?
No trabalho tenho uma tabela de lançamentos de 11,7 milhões de registros que
se relaciona com várias outras para exibir corretamente a informação que o
usuário precisa.
Imagina trazer tudo isto para um grid no terminal, se um simples Select
Count(*) from tabela demora em torno de 5 minutos...
Sucesso,
Eduardo Jedliczka
Membro do TeamFB
----- Original Message -----
From: "omar l m rosa" <omarrosa em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, January 26, 2007 11:47 AM
Subject: Re: [firebase-br] PLAN natural, porque?
HI!
Eu removi apenas de teimosia para ver o que aconteceria!!!
A tabela mercadorias tem 16000 linhas, e as demais tem 20, 30...
Logo....
Foi o tempo de abertura que me chamou a atenção - rodando local levou 3
seg...!!! imagina remota!!!
Tem como especificar um PLAN?
Bai!
omar
----- Original Message -----
From: "Henrique Netzka (Vetor Sistemas)" <henrique em vetorsistemas.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, January 26, 2007 8:54 AM
Subject: Re: [firebase-br] PLAN natural, porque?
Como falamos, o otimizador não é sempre super eficiente... Porém,
eventualmente poderia ser melhor para o banco procurar NATURAL ela sua
tabela de mercadorias do que ir pelos joins! Você já pensou nisso? Ou o
desempnho ficava ridículo??
Outra coisa... remover as FKs não é uma atitude muito sã, né?! rs... Quer
dizer, sua integridade referencial foi pro beleléu por causa de um select...
Eu, particularmente, ainda tentaria o "artifício" de colocar a tabela de
mercadorias como LEFT...
abraços
----- Original Message -----
From: "omar l m rosa" <omarrosa em terra.com.br>
To: "Carlos H. Cantu" <listas em warmboot.com.br>; "FireBase"
<lista em firebase.com.br>
Sent: Wednesday, January 24, 2007 3:58 PM
Subject: Re: [firebase-br] PLAN natural, porque?
Removi os FK, e........................ tcham..............
Plan
PLAN JOIN (P ORDER PK_PEDIDOS_MERC, U INDEX (PK_USUARIOS), E INDEX
(PK_MERC_ESTOQUES), M INDEX (PK_MERCADORIAS))
Adapted Plan
PLAN JOIN (P ORDER PK_PEDIDOS_MERC, U INDEX (PK_USUARIOS), E INDEX
(PK_MERC_ESTOQUES), M INDEX (PK_MERCADORIAS))
Está correto agora!!!!!!!!!!!!!!!!!!!!!
But!!!!!!!!!!!!!!!!!!!! Why?
Bai
----- Original Message -----
From: "Carlos H. Cantu (TeamFB)" <listas em warmboot.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, January 24, 2007 11:42 AM
Subject: Re: [firebase-br] PLAN natural, porque?
O fato de vc não estar usando a sintaxe do SQL92 pode estar
prejudicando o optimizador... substitua o WHERE por JOINs e veja se
ele altera o plano.
PS: Muitas variáveis influem da decisão do otimizador de usar um
índice ou não... geralmente ele acerta, mas nem sempre. Pode ser o seu
caso.
[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br
olmr> O select abaixo está me retornando um plano extranho, pois todas as
colunas
olmr> do where são primary keys, portanto indexadas, e logo ma tabela
mercadorias
olmr> que é a maior!!!!
olmr> (fb 2.0)
olmr> -----------
olmr> select m.pk_mercadorias,
olmr> m.codigo,
olmr> p.status,
olmr> P.CODIGO_PEDIDO,
olmr> m.descricao,
olmr> p.quantidade,
olmr> p.preco_unitario,
olmr> p.desconto,
olmr> e.localizacao,
olmr> u.nome,
olmr> p.pk_pedidos,
olmr> p.pk_pedidos_merc,
olmr> p.pk_usuarios,
olmr> p.pk_merc_estoques,
olmr> p.data,
olmr> p.TABELA_PRECOS,
olmr> p.quantidade * p.preco_unitario
olmr> from mercadorias m, pedidos_merc p, usuarios u, merc_estoques e
olmr> where m.pk_mercadorias = e.pk_mercadorias and
olmr> p.pk_merc_estoques = e.pk_merc_estoques and
olmr> p.pk_usuarios = u.pk_usuarios
olmr> ;
olmr> ----------------
olmr> Plan
olmr> PLAN JOIN (M NATURAL, E INDEX (I_MERC_ESTOQUES_1), P INDEX
olmr> (FK_PEDIDOS_MERC_1), U INDEX (PK_USUARIOS))
olmr> Adapted Plan
olmr> PLAN JOIN (M NATURAL, E INDEX (I_MERC_ESTOQUES_1), P INDEX
olmr> (FK_PEDIDOS_MERC_1), U INDEX (PK_USUARIOS))
olmr> ______________________________________________
olmr> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
olmr> Para editar sua configuração na lista, use o endereço
olmr> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
olmr> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista