Prezado,
tendo em vista que o tipo varchar2 se ajusta de acordo com o tamanho do dado inserido, quando seria mais vantajoso usar o tipo char? Num cadastro se sexo, onde se tem M ou F ?
Prezado,
tendo em vista que o tipo varchar2 se ajusta de acordo com o tamanho do dado inserido, quando seria mais vantajoso usar o tipo char? Num cadastro se sexo, onde se tem M ou F ?
Sim... eu diria que sim, embora você pudesse representar o sexo como inteiro (0 ou 1 ou sei la quantos mais...).
A vantagem do char é que ele ocupará menos espaço na memória se você souber qual o tamanho da cadeia de caracteres. É o caso, por exemplo, de você armazenar um hash MD5, por exemplo. Normalmente com 32 caracteres, você sabe exatamente quantos serão pra todos os registros. Ao passo que com varchar você ganha em comodidade por não precisar especificar um tamanho bem definido mas perde em espaço para armazenagem por conta dessa flexibilidade, desde que não armazene menos caracteres, ou seja, se armazenar menos de 32 caracteres com varchar, ele ocupará menos espaço mas se for armazenar 32, vai utilizar um byte a mais se não me engano.
Então, um bom exemplo onde usar char é melhor, seria pra armazenar um hash, seja MD5, seja SHA1. Você sabe exatamento o tamanho que precisará, portanto, vai economizar um pouco de memória.
(não sei dos detalhes do oracle, com MYSQL funciona mais ou menos assim)
Valeu, Alex. Obrigado!