[firebase-br] escolha do dialeto

Omar Haddad omarhaddadm em gmail.com
Qua Dez 3 14:17:57 -03 2008


Opa rapazeada.

Muito xique e produtivas e esclarecedoras as respostas.

Todos estão de parabéns.

Eu, que sou novato em Firebird, aprendi muito.

Abraço

2008/12/3 Sandro Souza <escovadordebits em gmail.com>

> Bom dia/tarde pessoal.
>
> Só complementando as diferenças que já foram citadas, temos também a
> diferença da precisão numérica.
>
> Nos dialetos 1 e 2, quando você declara um campo do tipo NUMERIC ou
> DECIMAL,
> ele será armazenado com o formato de ponto flutuante, como o tipo DOUBLE
> PRECISION por exemplo.
>
> Isso implica diretamente em possíveis erros de precisão numérica, sendo
> notados principalmente em somatórios (SUM) e médias (AVG).
>
> No dialeto 3, o Firebird procura armazenar o valor como se fosse um valor
> inteiro, ou seja:
>
> Se o seu campo tiver até 4 dígitos, independente de quantas casas decimais
> tenha, será armazenado internamente como um SMALLINT (inteiro de 16 bits
> com
> sinal).
>
> Se o seu campo tiver de 5 até 8 dígitos, independente de quantas casas
> decimais tenha, será armazenado internamente como um INTEGER (inteiro de 32
> bits com sinal).
>
> Se o seu campo tiver de 9 até 18 dígitos, independente de quantas casas
> decimais tenha, será armazenado internamente como um BIGINT (inteiro de 64
> bits com sinal), que é disponível apenas no dialeto 3.
>
> Apesar desses valores serem armazenados como inteiros, durante as operações
> matemáticas, seus valores são multiplicados e/ou divididos por potências de
> 10 para respeitar as casas decimais informadas.
>
> Como resultado final, você tem o mínimo possível de erros de precisão
> (arredondamento, etc...).
>
> Esse "pequeno detalhe técnico" faz muita diferença quando você está lidando
> com valores monetários (como o tipo MONEY do SQL Server, ou o tipo Currency
> do Borland Delphi), que também são BIGINTs (Int64) "disfarçados".
>
> Resumindo, quer o máximo de precisão numérica entre outros benefícios? Use
> sempre o dialeto 3.
>
> 2008/12/3 Fabiano Segal <fabianosegal em gmail.com>
>
> > toda limitacao implica tambem em performance, visto que por nao poder
> > utilizar determinados tipos de campo, bem como determinados tipos de
> > funcoes
> > o sistema deve ser programado de forma mais antiquada.
> >
> > Abraço
> >
> > 2008/12/3 renato <centriscorps em gmail.com>
> >
> > > Dadas as diferenças no sql há diferença quanto a performance?
> > >
> > > Renato
> > >
> > > Em 03/12/08, Fabiano Segal<fabianosegal em gmail.com> escreveu:
> > >  > sim, amigo, existem diferenças sim,
> > > >
> > > > em sentenças SQL as principais, em tipos de campo, ou seja, o dialeto
> 1
> > é
> > > > limitado. bem mais limitado.
> > > > e como nosso amigo anterior se referiu, ele apenas é mantido por
> > > > compatibilidade.
> > > >
> > > > Abraço.
> > > >
> > > > 2008/12/3 renato <centriscorps em gmail.com>
> > > >
> > > >> Saudações!
> > > >>
> > > >> Existe alguma diferença entre criar um banco firebird usando o
> dialeto
> > 1
> > > >> ou
> > > >> 3?
> > > >>
> > > >>
> > > >> Abraços,
> > > >>
> > > >> Renato.
> > > >> ______________________________________________
> > > >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > >> http://www.firebase.com.br/fb/artigo.php?id=1107
> > > >> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > > >>
> > > > ______________________________________________
> > > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > > >
> > >
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista