[firebase-br] RES: Resultado do Testes entre Indices Integer e Char

Carlos H. Cantu listas em warmboot.com.br
Sex Ago 2 16:27:02 -03 2013


A inconveniência do CHAR em relação ao VARCHAR é que os strings sempre
terão o tamanho definido, ou seja, se vc armazenar um conteúdo menor
do que o definido, o FB "incluirá" espaços em branco no final, até
atingir o tamanho definido para o campo.

Eu sugiro usar CHAR somente quando o campo em questão tem conteúdo de
tamanho fixo, por exemplo, CEP, CNPJ, etc.

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

FSI> -----Mensagem original-----
FSI> De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Luciano franca
FSI> Enviada em: sexta-feira, 2 de agosto de 2013 15:58
FSI> Para: Carlos H. Cantu; FireBase
FSI> Assunto: [firebase-br] Resultado do Testes entre Indices Integer e Char



FSI>   Mestre mais uma vez você foi em cima.

FSI>   Peguei o banco do meu maior Cliente cerca de 2 GB  de tamanho

FSI>   Fiz a conversão trocando todos os campo que tem Indices de Integer para 
FSI> Char(30)  e outro para VarChar(30)


FSI>   Fiz testes com o IBexpert onde é possivel ver o cronometro dele e para
FSI> minha surpresa não tem diferença alguma de desempenho em
FSI> querys de consulta com cerca de 200.000 registros de produtos e de clientes
FSI> o tempo é exatamente o mesmo nem parece que o tipo de dados é outro,  fiz
FSI> varios  "Execute All"  cerca de 10  isso testando nos dois bancos com tipos
FSI> diferentes
FSI> todos os Plans das consulta que testei foram por indices e as consultas
FSI> tinha Inner Join e Left Join.
FSI>   Eu fiz testes com Char(30)  e  VarChar(30)  e o resultado é o mesmo não há
FSI> diferenças  então acredito que eu deva ficar com Char
FSI> o que os colegas acham ?

FSI>   Vejam quando disse que o tempo é o mesmo ou seja empata nos segundos e da
FSI> alguma diferença nos milesimos de segundos mais cada hora que  
FSI> eu fazia o testes era aleatorio o ganho ou seja uma hora o Banco com Integer
FSI> ganhava por milesimos de segundos outra hora o Banco com Char e VarChar
FSI> ganhava então é empate  os testes foram executados num  Core  I7 3.4  GHZ 
FSI> com 24 GB de ram e  SSD  no lugar de HD.


FSI>    



FSI> ________________________________
FSI>  De: Carlos H. Cantu <listas em warmboot.com.br>
FSI> Para: lista em firebase.com.br 
FSI> Enviadas: Sexta-feira, 2 de Agosto de 2013 13:20
FSI> Assunto: Re: [firebase-br] RES: Duvida sobre Indices Integer ou VarChar
FSI>  

FSI> Não acredito que cause alguma mudança perceptivel, mas o ideal é
FSI> você testar. Depois poste o resultado aqui.

FSI> []s
FSI> Carlos H. Cantu
FSI> www.FireBase.com.br - www.firebirdnews.org
FSI> www.warmboot.com.br - blog.firebase.com.br

Lf>> Cantu mais resumindo terei queda na performace em mudar de Integer para
FSI> Varchar ?
Lf>> qual seria melhor Varchar ou Char para indices ??

Lf>>  
Lf>>  De: Carlos H. Cantu <listas em warmboot.com.br>
Lf>>  Para: FireBase <lista em firebase.com.br> 
Lf>> Enviadas: Quinta-feira, 1 de Agosto de 2013 10:00
Lf>>  Assunto: Re: [firebase-br] RES: Duvida sobre Indices Integer ou VarChar
Lf>>  

WO>>> Por ejemplo, los números entre -32.768 y + 32.767 usan 2 bytes, ni más
FSI> ni
WO>>> menos; en cambio pueden necesitar hasta 6 bytes si se los guardará como
WO>>> CHAR y hasta 7 bytes si se los guardará como VARCHAR (porque en este
FSI> caso
WO>>> se agrega un byte con ASCII 0 al final).

Lf>> Não é bem assim... extraido da minha palestra do FDD esse ano:

Lf>> Números são armazenados nas chaves como double precision (exceção é
FSI> BIGINT)

Lf>> Vantagens:

Lf>> Para numeric/decimal, permite mudar p ou s sem ter que reindexar

Lf>> Para smallint/integer, permite a conversão entre os tipos ou para um
Lf>> tipo com escala, sem reindexar

Lf>> Obs: Devido a falta de precisão do double precision,  a busca é feita
Lf>> por um intervalo, entre o maior valor anterior e menor valor posterior
Lf>> ao desejado.

Lf>> []s
Lf>> Carlos H. Cantu
Lf>> www.FireBase.com.br - www.firebirdnews.org
Lf>> www.warmboot.com.br - blog.firebase.com.br


Lf>> ______________________________________________
Lf>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Lf>> Para saber como gerenciar/excluir seu cadastro na lista, use:
Lf>> http://www.firebase.com.br/fb/artigo.php?id=1107
Lf>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa


Lf>>  


FSI> ______________________________________________
FSI> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
FSI> Para saber como gerenciar/excluir seu cadastro na lista, use:
FSI> http://www.firebase.com.br/fb/artigo.php?id=1107
FSI> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
FSI> ______________________________________________
FSI> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
FSI> Para saber como gerenciar/excluir seu cadastro na lista, use:
FSI> http://www.firebase.com.br/fb/artigo.php?id=1107
FSI> Para consultar mensagens antigas: http://firebase.com.br/pesquisa


FSI> ______________________________________________
FSI> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
FSI> Para saber como gerenciar/excluir seu cadastro na lista, use:
FSI> http://www.firebase.com.br/fb/artigo.php?id=1107
FSI> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista