Re: [firebase-br] Questões de Case Sensitive e performance em banco de dados (Opiniões)

Eduardo Jedliczka eduardo em gerasoft.com.br
Qui Mar 3 08:16:56 -03 2005


Francisco.... (certamente o PHA pode responder muito melhor que eu, hehehe)

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 pode
consumir 1, 2 ou 3 bytes internamente ao banco de dados, (por isto o tamanho
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 caracteres
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á ser 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 banco de
dados (Opiniões)


> Caros amigos,
>
> Estava eu discutindo com um amigo meu sobre bancos de dados em geral. Em
> 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 demorar
> mais para compará-la do que se fosse "DESSA FORMA". Daí agente viajou 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 anularia 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 certeza 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
>
>





Mais detalhes sobre a lista de discussão lista