Campo BLOB do MySQL duvidasinha?

9 respostas
anjomal

Galera to desenvolvendo um sistema onde vou ter de gravar um arquivo de texto inteiro em um campo BLOB, para depois retornalo na aplicação, a duvida e a seguinte os arquivos são bem grandinhos qual o contra de campos BLOB grandes no MYSQL ?

falow !!!

há outra coisa alguem conhece uma ferramenta ERD free for LINUX :roll:

t+

9 Respostas

cv1

Nenhum contra, mas se vc vai guardar arquivos texto, é melhor dar uma olhada em campos CLOB (Character Large Objects) ao inves de BLOBs (Binary Large Objects)…

douglasfs

Pelo que eu me lembre, CLOB é para Oracle, se for no MySQL são campos do tipo TEXT (TINYTEXT, TEXT, MEDIUMTEXT e LONGTEXT)

cv1

True, true…

anjomal

na realidade tem de se usar BLOB no MySQL, eu so queria saber do impacto na aplicação

cv1

Bom, impacto zero, e é exatamente pra isso que os BLOBs servem: pra permitir que vc guarde arquivos grandes sem se preocupar muito com performance. Num BLOB, o que fica gravado dentro da tabela é só uma referência ao arquivo, que é guardado externamente (sorry, nao me lembro o nome do diretorio onde os BLOBs ficam). O unico limite é que, se vc estiver usando plataforma x86, não dá pra gerenciar arquivos > 2gb, pelo menos por enquanto – nao sei se o MySQL tem alguma gambiarra contra isso, no entanto.

[]'s
-cv

N

Você também pode usar java.sql.Clob do Java, para trabalhar com textos TEXT no MySql, ao invés de java.sql.Blob.

Acho que é mais adequado, e não é exclusividade Oracle :o .

anjomal

qual o tamanho suportado pelo campo TEXT do MySQL ?

douglasfs

Ctrl+C e Ctrl+V do manual do MySQL :lol:

TINYTEXT
A BLOB or TEXT column with a maximum length of 255 (2^8 - 1) characters. See section 6.5.3.1 Silent Column Specification Changes. See section 6.2.3.2 The BLOB and TEXT Types.

BLOB
TEXT
A BLOB or TEXT column with a maximum length of 65535 (2^16 - 1) characters. See section 6.5.3.1 Silent Column Specification Changes. See section 6.2.3.2 The BLOB and TEXT Types.

MEDIUMBLOB
MEDIUMTEXT
A BLOB or TEXT column with a maximum length of 16777215 (2^24 - 1) characters. See section 6.5.3.1 Silent Column Specification Changes. See section 6.2.3.2 The BLOB and TEXT Types.

LONGBLOB
LONGTEXT
A BLOB or TEXT column with a maximum length of [telefone removido] (2^32 - 1) characters. See section 6.5.3.1 Silent Column Specification Changes. Note that because the server/client protocol and MyISAM tables has currently a limit of 16M per communication packet / table row, you can’t yet use this the whole range of this type. See section 6.2.3.2 The BLOB and TEXT Types.

anjomal

Meu caso vai ter de ser BLOB mesmo.

Criado 8 de abril de 2003
Ultima resposta 9 de abr. de 2003
Respostas 9
Participantes 4