[firebase-br] Questoes de case sensitive e performance (opinioes)

Francisco Thiago jeandeadlucky em yahoo.com.br
Qui Mar 3 11:05:37 -03 2005


Obrigado amigos pelas respostas :D
Mas internamente no banco, como são gravadas as strings? Digo... o que fica 
realmente armazenado no banco?´
Existe algum tipo de algoritmo que faz calculos com o char set para saber 
qual a string guardada?


Obrigado


Francisco Thiago de Almeida
Enter&Plug Informática
Divisão: Desenvolvimento e Banco de dados
MSN: thiago em enterplug.com.br


----- Original Message ----- 
From: "Pha-Lista" <lista em pha.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, March 03, 2005 9:40 AM
Subject: Re: [firebase-br] Questões de Case Sensitive eperfo 
=?iso-8859-1?Q?rmance_em_banco_de_dados_=28Opini=F5es=293D?=


> Só completando.
>
> Nao importa muito a forma que voce escreve, e sim o Character Set e 
> Collate.
>
> 1) Se o Character Set da sua conexao for diferente do Character Set do 
> Banco, a comunicacao entre o Servidor e o Cliente sera mais lenta, pois o 
> Campo sera convertido de um Character Set para outro sempre que o Cliente 
> enviar os dados para o Servidor e vice versa.
>
> 2) Quanto ao collate o que interfere na performance e o fato de quando se 
> declara um collate seja ele qual for sera utilizado 3 bytes para cada 
> caracter (Pode ter algum character que utiliza mais ou menos mais a 
> maioria utiliza 3).
>
> PS: O Collate PT_BR e WINPTBR utiliza apenas um byte para cada caracter.
>
> Resumindo (com excecao da opcao 1), a perda de performance e muito pequena 
> e nao deveria ser considerada, nao e isso que deixara o seu aplicativo 
> mais lento, principalmente se voce fazer as pesquisas corretamente.
>
>
> Muitos utilizam caracteres maiusculos e sem acento para faciliar as 
> pesquisas e o desenvolvimento do aplicativo, pessoalmente prefiro que o 
> usuario escreva corretamente utilizando maiuscolo e minusculo e com 
> acentos, o desenvolvedor e quem tem que resolver o problema depois e nao 
> bloquear um recurso que e padrao nos aplicativos atuais, alem disso tudo 
> em maiusculo fica feito as saidas tanto a tela como na impressao.
>
> PHA
> Nova Odessa / SP - Brazil
>
> -----Mensagem original-----
> From: "Eduardo Jedliczka" eduardo em gerasoft.com.br
> Date: Thu,  3 Mar 2005 08:16:57 -0300
> To: "FireBase" lista em firebase.com.br
> Subject: Re: [firebase-br] Questões de Case Sensitive e perfo 
> =?iso-8859-1?Q?rmance_em_banco_de_dados_=28Opini=F5es=29?=
>
>> Francisco.... (certamente o PHA pode responder muito melhor que eu, 
>> heheh> e)
>>
>> Bom, acho que você já deve ter ouvido falar em "Collate" e "CharSet".> ..
>>
>> Saiba que o banco sempre utiliza um CharSet (e NONE é um CharSet) que p> 
>> ode
>> consumir 1, 2 ou 3 bytes internamente ao banco de dados, (por isto o 
>> tama> nho
>> máximo de um índice pode ser 83, 126, ou 253 caracteres) ;-)
>>
>> Ao realizar uma procura, o banco sempre utiliza sua string com o CharSet 
>>  > da
>> conexão (por isto se sua conexão for Win1250 e tentar acessar caracte> 
>> res
>> acentuados em uma banco criado com Win1252 poderá ocorrer um erro ;-)) > 
>> para
>> "buscar" as strings armazenadas com o collate do banco/campo...
>>
>> Então, sejam maiúsculas, minusculas, mixtas, a performance deverá s> er a
>> mesma, o resultado de um Like ou Where é que pode variar de um collate > 
>> para
>> o outro!!!
>>
>> E mais um detalhe, ao utlizar UDFs ou Funções Internas, o banco NÃO> 
>> utiliza
>> índice...
>> [s]
>>
>> =========================> =
>> Eduardo Jedliczka
>> Gerasoft Informática
>> Apucarana - Pr
>> =========================> =
>>
>> ----- Original Message ----- 
>> From: "Francisco Thiago" <jeandeadlucky em yahoo.com.br>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Wednesday, March 02, 2005 1:12 AM
>> Subject: [firebase-br] Questões de Case Sensitive e performance em banc> 
>> o de
>> dados (Opiniões)
>>
>>
>> > Caros amigos,
>> >
>> > Estava eu discutindo com um amigo meu sobre bancos de dados em geral. 
>> > E> m
>> > certo momento da conversa ele me disse que " é aconselhavel grava as
>> strings
>> > todas maiusculas no banco para aumentar a performance" ele disse isso
>> > alegando que caso você grave uma string "Dessa Forma", o banco vai de> 
>> > morar
>> > mais para compará-la do que se fosse "DESSA FORMA". Daí agente viaj> ou 
>> > mais
>> > ainda em "Como que o banco armazena strings" é numérico, é hexa, > é
>> > binário..... Enfim.
>> > Eu disse pra ele que deve ser umas dessas representações, o que anu> 
>> > laria a
>> > possibilidade da possível degradação de performance.
>> >
>> > Eu pergunto então para vocês:
>> >
>> > 1- Seu eu posso gravar no banco Informações "Dessa Forma" e ter cer> 
>> > teza qu
>> e
>> > depois eu não vou usar um Upper num sql, eu perco performance?
>> > 2- É melhor CAIXA ALTA, caixa baixa ou Caixa Mista - em questão de
>> > performance - para o banco?
>> > 3- De que forma as Strings são armazenadas no bancos? Puramente como
>> string,
>> > seu código asc, um código hexa, um código binario...
>> > 4- E para outros bancos (Interbase, Oracle, SQLServer, DB@)?
>> >
>> > Obrigado e espero resposta dos amigos
>> >
>> > Thiago
>> >
>> >
>> >
>> >
>> > ______________________________________________
>> > FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>> > Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> >
>> >
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>> Para editar sua configuração na lista, use o endereço 
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>
>


--------------------------------------------------------------------------------


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br 








Mais detalhes sobre a lista de discussão lista