Jump to content
Biel.

varchar 255

Recommended Posts

Olá pessoal. Direto ao ponto. Pessoal No banco de dados mysql, varchar máximo 255 caracteres.  Gostaria de saber se o sistema fica lento deixando varchar com mais caracteres que o necessário. Tipo

no campo nome  vou digitar no máximo 50 caracteres, mas quero varchar com 255

no campo telefone  vou digitar no máximo 20 caracteres,  mas quero varchar com 255

no campo email vou digitar no máximo 30 caracteres,  mas quero varchar com 255

no campo end  vou digitar no máximo 40 caracteres,  mas quero varchar com 255

 

Tem algum problema? o sistema vai ficar lento com muitos dados ou não tem nenhum problema em usar varchar com 255 pra todos os campos? Obrigado.

Share this post


Link to post
Share on other sites

Se você especificar que o campo será um VARCHAR(255),

você necessariamente não está dizendo que ele irá ocupar

255 caracteres, mas sim que ele terá um limite de 255.

 

Mas como isso funciona?

Basicamente o VARCHAR ocupa 1 byte por caractere

informado, porém o mesmo varia de acordo com o

tamanho do que está a ser inserido.

 

Exemplo:

Suponhamos que você tem um campo nomeAluno onde o

mesmo é dado como sendo um VARCHAR(60), e nele você

irá inserir 1 novo registro de um aluno chamado Pedro, então,

o mesmo seguira o seguinte:

 

Pedro ( 5 Caracteres5 bytes  )

 

Assim a linha ocupará apenas 5 bytes em vez de 60 ( como

definidos no índice )...

 

 

Existe alguma desvantagem?

Naturalmente gosto de limitar a quantidade como uma

forma de "controle" a mais do que somente a aplicação,

porém se existe algum custo a mais devido a quantidade

não utilizada ( ou algo do tipo ), infelizmente não sou a melhor

pessoa para responder o mesmo...

Share this post


Link to post
Share on other sites

O tamanho de um campo declarado no banco é uma parte da documentação e da garantia de sua integridade , exemplo : se declara que um telefone pode ter 255 carac. , um usuário em um erro dá um "paste" de um conteúdo de um cpf neste campo (14 carac.) , se fosse declarado 11 daria um erro , com 255 passaria.

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Biel.
      Olá pessoal. Direto ao ponto. Pessoal abaixo temos três exemplos que está funcionando normalmente, mas tem um problema. Gostaria que EX2 e EX3 tivesse a mesma referencia que EX1 sempre que uma nova referencia for gerada à partir do EX1.
      EX1 <?php function aleatorio($limit){ $str = "123456789"; $maximo = strlen ($str)-1; $caracteres = ''; for($i = 0; $i < $limit; $i++): $caracteres .= $str{mt_rand(0,$maximo)}; endfor; return $caracteres; } $gerar = aleatorio(4); echo $gerar; ?> <br /> EX2 <?php $nome = "joao;"?> <?php function teste1($nome) {?> <?php $gerar = aleatorio(4);?> <?php echo $gerar;?> <?php } // final função?> <?php print(teste1($nome));?> <br /> EX3 <?php $email = "teste@gmail.com;"?> <?php function teste2($nome) {?> <?php $gerar = aleatorio(4);?> <?php echo $gerar;?> <?php } // final função?> <?php print(teste2($email));?>  
       
    • By Biel.
      Olá pessoal. Direto ao ponto. Pessoal abaixo temos três function. (Ex1 quando dou echo retorna div email) (Ex2 quando dou echo retorna div nome) (Ex3 gostaria que retornasse div nome e div email em echo SEPARADO usando apenas uma function
      EX 1 <?php $email = "teste@gmail.com"; ?> <?php function aprendiz_01($email){?> <div style="border:1px solid #F05;">email</div> <?php }?> <?php echo aprendiz_01($email);?> <br />------------------------------------------------- 01<br /> EX 2 <?php $nome = "joao"; ?> <?php function aprendiz_02($nome){?> <div style="border:1px solid #F05;">joao</div> <?php }?> <?php echo aprendiz_02($nome);?> <br />------------------------------------------------- 02<br /> EX 3 <?php $nome = "joao"; $email = "teste@gmail.com"; ?> <?php function aprendiz_03($nome){?> <div style="border:1px solid #F05;">joao</div> <?php }?> <?php echo aprendiz_03($nome);?> <?php //echo 'email ->'.aprendiz_03($email);?> <br />------------------------------------------------- 03<br />  
    • By Biel.
      Olá pessoal. Direto ao ponto. Pessoal abaixo temos EX1 e EX2 . EX1 nao tem parâmetro e exibe na tela todos os  valores de vez.
      Gostaria que EX2 tivesse três parâmetros ($email , $paixao , $meta) e que retornasse seus valores à partir da function e não apenas dar um echo na variável 
      EX 1<br /> <?php function exibirTodosDeVez(){ $email = 'teste@gmail.com<br />'; $paixao = 'aprender<br />'; $meta = "nunca desistir"; return ($email.$paixao.$meta); } print exibirTodosDeVez(); ?> <hr /> EX2<br /> <?php $email = 'teste@gmail.com<br />'; $paixao = 'aprender<br />'; $meta = "nunca desistir"; // quero usar apenas uma function para as três variavel e retornar o valor de cada variavel. Conseguir retornar somente o email function exibirIndividual($email){ echo '55'. $email; } echo exibirIndividual($email); ?>  
    • By Biel.
      .
    • By Biel.
      Olá pessoal. Direto ao ponto. 
      Pessoal o código abaixo replica o select normalmente com function sem necessidade de repetir select e itens html na integra 
      Alguém sabe dizer se é possível replicar o select abaixo (sem function) e (sem transformar select e itens em string?) 
      <?php function replicarSelectB(){?> <select name="cores" class="select_auto" required> <option></option> <?php $arrayCores = array("verde", "amarelo"); for($i=0; $i <count($arrayCores); $i++){ $exibe = $arrayCores[$i]; ?> <option value="<?php echo $exibe;?>" ><?php echo $exibe;?></option> <?php }//final for?> </select> <?php }//final function?> <br> <?php print(replicarSelectB());?><br /> <?php print(replicarSelectB());?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.