[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