Inserindo arquivos no Banco

Recentemente fiz manutenção em um sistema de helpdesk que grava arquivos em tabelas do banco de dados. Eu particularmente acredito que a prática seja uma péssima idéia, pois aumenta o tamanho do banco consideravelmente e deixa-o lento, além de que existem sérias limitações do MySQL para o trabalho com os arquivos.

O problema foi que, ao anexar arquivos maiores que 1MB, o site não conseguia mais exibir o arquivo para download (isso quando se conseguia fazer o upload desses arquivos). Com uma breve pesquisa pude notar que, por limitações do protocolo web e devido à configuração do MySQL uma query tem limitações de trabalho com tamanhos grandes de arquivos.

O problema foi resolvido quando alterei uma variável do MySQL que indica qual o tamanho máximo que uma única query poderá ter. Por padrão o tamanho pode vir limitado para preservar a memória utilizada pelo BD. Essa variável pode ser exibida com o comando:

show variables like ‘%max_allowed_packet%’

A variável pode ser alterada com o comando:
set max_allowed_packet = 16000000

Para quem quer detalhes de como trabalhar com arquivos no banco, o Paulinho Michelazzo escreveu um ótimo artigo no site linha de código.
.

Um comentário em “Inserindo arquivos no Banco

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s