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 gostaria que todas as imagens enviada não importando a extensão ficasse com extensão .jpg
      Ex: suponha que o colega enviou uma image com nome  aprendiz.bmp  ou  aprendiz.png  ou  aprendiz.gif  ou  aprendiz.tiff gostaria que quando upload fosse feito a imagem aparecesse dentro da pasta(UploadImagens/) com nome aprendiz.jpg
      Gostaria muito de resolver esta tarefa. obrigado !
      <?php if (isset($_POST["enviar"])){ $pasta1 = 'UploadImagens/'; $name_original_image_1 = $_FILES['a_image1']['name']; //echo "<h3>nome original da imagem </h3> " .$name_original_image_1; $tmp_name_1 = $_FILES['a_image1']['tmp_name']; // =================================== $explode1 = @end(explode('.',$name_original_image_1)); $extensao_enviada = $explode1; echo "<h3>você enviou a extensao ".$extensao_enviada.'</h3>'; // =================================== $new_name_image_1 = "NewName_".rand().'.'.$extensao_enviada; // =================================== // dimensão original da imagem list($width_original_1, $height_original_1) = getimagesize($tmp_name_1); // =================================== $x = 280; $y = 180; $new_dimension_image_1 = imagecreatetruecolor($x,$y); // =================================== $img_1 = imagecreatefromjpeg($tmp_name_1); // =================================== imagecopyresampled($new_dimension_image_1, $img_1, 0, 0, 0, 0, $x,$y, $width_original_1, $height_original_1); // =================================== $aaa = 55; $bbb = 55; // =================================== if($aaa == $bbb){ echo "<h2>UPLOAD REALIZADO COM SUCESSO</h2>"; imagejpeg($new_dimension_image_1,$pasta1.$new_name_image_1); } else{ echo "<h2>UPLOAD NAO FOI FEITO</h2>"; } // =================================== } ?> <div style="margin-left:20px;"> <form action="" method="post" enctype="multipart/form-data" > selecionar image<br> <input type="file" name="a_image1" required /> <input type="submit" name="enviar" value="Salvar" /> </form> </div>  
    • By Biel.
      Olá pessoal. Direto ao ponto. Pessoal suponha que agora é  22:15:27 e o site só tem uma página com nome index.php
      Gostaria que quando fosse por EX  23:11:36 a página index.php fosse atualizada intervenção do usuário. Como fazer isso com javascript? 
      Como não entendo nada de javascript não sei por onde começar, mas agradeço por qualquer sugestão ou dica. Obrigado !
    • By Biel.
      Olá pessoal . Direto ao ponto. Pessoal como faço para resolver a falta de extensão de imagem na biblioteca GD? Na web já existe dezenas de extensões que estão sendo usadas. Não sei como resolver este problema, mas pensei em duas possibilidades:
      1ª possibilidade: Se o colega enviar uma imagem com extensão que não está na regra if como resolver este problema?
      2ª possibilidade: Se o colega enviar uma imagem com extensão que não está na regra if como converter a extensão que foi enviada para (jpg)? e funcione tudo normalmente? Obrigado!
      <?php if (isset($_POST["enviar"])){ $pasta1 = 'uploadImagens/'; $name_original_image_1 = $_FILES['a_image1']['name']; $tmp_name_1 = $_FILES['a_image1']['tmp_name']; // =================================== $explode1 = @end(explode('.',$name_original_image_1)); $extensao_enviada = $explode1; echo "<h3>você enviou a extensao ".$extensao_enviada.'</h3>'; $new_name_image_1 = "NewName_".uniqid().'.'.$extensao_enviada; // =================================== //$extensao_permitida = array("png", "jpg", "jpeg", "gif"); //$comparar_dados = in_array($extensao_enviada,$extensao_permitida); // =================================== list($width, $hight) = getimagesize($tmp_name_1); $new_dimension_image_1 = imagecreatetruecolor(280,180); if($type == 'image/jpeg'){ $img = imagecreatefromjpeg($tmp_name_1); } //-------------------------------------- if($type == 'image/gif'){ $img = imagecreatefromjpeg($tmp_name_1); } //-------------------------------------- if($type == 'image/png'){ $img = imagecreatefromjpeg($tmp_name_1); } imagecopyresampled($new_name_image_1, $img, 0, 0, 0, 0, 280,180, $width, $hight); // =================================== $extensao = $extensao_enviada; if($extensao == 'png' || $extensao == 'jpg' || $extensao == 'gif'){ imagejpeg($new_dimension_image_1,$pasta1.$new_name_image_1); echo "<h2>opload realizado com sucesso</h2>"; } else{ echo "<h2>A extensão enviada não existe ou a biblioteca GD não dar suporte</h2>"; } // =================================== } ?> <div style="margin-left:20px;"> <form action="" method="post" enctype="multipart/form-data" > selecionar image<br> <input type="file" name="a_image1" required /> <input type="submit" name="enviar" value="Salvar" /> </form> </div>  
    • By Biel.
      Olá pessoal. direto ao ponto. Pessoal o código abaixo está funcionando normalmente, mas tem um problema. é o seguinte:
      Se $size_imagem <= 8MB , upload é feito.
      Se $size_imagem > 8MB , upload não é feito e aparece esta mensagem na tela: 
      Warning: POST Content-Length of 10601966 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
      gostaria que a mensagem acima aparecesse dentro do elseif em forma de texto, tipo: upload NÃO DEU CERTO. a imagem que você enviou tem MAIS de 8 mega, envie uma imagem com menos de 8 mega bytes 
      Pessoal como o servidor é online não tenho controle dos limites que ELES estabelecem. Gostaria de saber como resolver o problema no elseif mesmo. Obrigado !
       
      <?php if (isset($_POST["enviar"])){ $pasta = "pasta_image"."/"; $tmp_imagem = $_FILES['upload']['tmp_name']; $name_imagem = $_FILES['upload']['name']; $size_imagem = $_FILES['upload']['size']; $error_imagem = $_FILES['upload']['error']; $tamanho_max_permitido = 8388608; // 1 mega byte = 1048576 | 8 mega bytes = 8388608 if($size_imagem <= $tamanho_max_permitido){ move_uploaded_file($tmp_imagem,$pasta.$name_imagem); echo "<h2> upload realizado com sucesso. </h2>"; } elseif($size_imagem > $tamanho_max_permitido){ echo "<h2> upload NÃO DEU CERTO. <br>a imagem que você enviou tem MAIS de 8 mega byte <br> envie uma imagem com MENOS de 8 </h2>"; } else{ echo "<h2> outro resultado </h2>"; } } ?> ...
      <form action="" method="post" enctype="multipart/form-data"> imagem <input type="file" name="upload" required /><br><br> <input type="submit" name="enviar" value="Salvar" /> </form>  
    • By Biel.
      Olá pessoal. Direto ao ponto. Pessoal estou tentando fazer multiplo upload de imagem com o código abaixo, respeitando claro o tamanho_max_permitido
      Ex: Gostaria que se o colega tentar cadastrar por EX três imagens de uma só vez, sendo que cada imagem tem 1MB cada, totalizando 3MB, (impedisse o cadastro), afinal o tamanho_max_permitido é 2MB . Como resolver isso pessoal? Obrigado ! 
      <?php $aprendiz = $_FILES['upload']['tmp_name']; for($i=0; $i<count($aprendiz); $i++){ // ---------------------------------------- $tmp_imagem = $_FILES['upload']['tmp_name']; $name_imagem = $_FILES['upload']['name']; // ---------------------------------------- $type_imagem = $_FILES['upload']['type']; $size_imagem = $_FILES['upload']['size']; // ---------------------------------------- $pasta = "pastaUpload"."/"; // ---------------------------------------- $explode1 = @end(explode('.',$name_imagem)); $name_imagem = uniqid()'.'.$explode1; // 1MB=1048576 2MB=2097152 3MB=3145728 4MB=4194304 5MB=5242880 $tamanho_max_permitido = 2097152; if(size_imagem <= $tamanho_max_permitido){ move_uploaded_file($tmp_imagem,$pasta.$name_imagem); echo "<h2> upload realizado com sucesso </h2>"; } else{ echo "<h2> upload não foi feito.Motivo:<br /> * A imagem que você enviou tem mais de 2MB ou <br /> * As imagens que você enviou, somadas dar mais de 2MB</h2>"; } } ?> ...
      <div style="margin-left:20px; white-space:pre;"> <form action="" method="post" enctype="multipart/form-data"> selecione <input type="file" name="upload[]" multiple required /> <input type="submit" name="" value="Salvar" /> </form> </div  
×

Important Information

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