Qual a diferença entre CLOB E BOB?

28/10/2014

0

Olá pessoal, tudo bem?
Gostaria de saber qual é a diferença entre CLOB e BLOB. Quando devo usar um e quando o outro? Problema que tenha hoje é o seguinte, tenho um TXT com cerca de 500kb, mas pode chegar até 10 mb, e preciso armazena-ló no banco Oracle, qual melhor forma?


Muito obrigado.
Mariana Carvalho

Mariana Carvalho

Responder

Post mais votado

28/10/2014

Mariana, pode utilizar o CLOB, o mesmo é feito para isso, tratar texto o BLOB é mais utilizados para guardar mídias/imagens ou seja objetos.

Lourival Queiroz

Lourival Queiroz
Responder

Mais Posts

28/10/2014

Mariana Carvalho

Muito obrigada Lourival. Entendi. O meu TXT tem cerca de 1000 linhas, o oracle irá armazenar sem problemas, certo? Posso ficar despreocupada, não é?
Responder

29/10/2014

Lourival Queiroz

Com certeza, tenho utilizado textos com legislação que ultrapassa em muito 1000 linhas e nunca tive problemas, observe somente regras para criar tabelas com campos CLOBs, se for muito populosa essas tabelas, prefira criar uma tabela de referencia somente com o campo CLOB e chave de acesso a mesma, fica muito mais fácil de administrar sem ficar lento a pesquisa.
Responder

29/10/2014

Mariana Carvalho

Muito obrigada Lourival pela ajuda.
Responder

03/04/2023

Breno

Com certeza, tenho utilizado textos com legislação que ultrapassa em muito 1000 linhas e nunca tive problemas, observe somente regras para criar tabelas com campos CLOBs, se for muito populosa essas tabelas, prefira criar uma tabela de referencia somente com o campo CLOB e chave de acesso a mesma, fica muito mais fácil de administrar sem ficar lento a pesquisa.



Bom dia Lourival , sou iniciante , mas fiquei interessado nesse assunto. Vc fez aplicativo para ler legislacoes traibutarias?
Responder

03/04/2023

Arthur Heinrich

Complementando o conceito de CLOB (Character Large Object) e BLOB (Binary Large Object), conforme foi comentado, o uso de colunas LOB (Large Object) tornam as consultas mais lentas, mas o problema não está relacionado diretamente ao tamanho.

Quando executamos uma consulta no banco, principalmente nas consultas que podem retornar múltiplas linhas, mesmo que a aplicação faça o fetch apenas de uma linha, o banco costuma empacotar o resultado de múltiplas linhas de uma só vez, para minimizar o número de "round trips", das vezes que um pacote tem que ser enviado solicitando mais linhas.

Isto pode ser ajustado em propriedades como ARRAY SIZE, ROW SET SIZE, PACKET SIZE, etc.

Ao incluir uma coluna LOB no resultado de uma query, o banco é forçado a enviar apenas uma linha por fetch, aumentando o número de round trips, o que torna o resultado mais lento por introduzir a latência de rede a cada linha retornada.

Para quem utiliza frameworks ou classes para acessar as tabelas, que geralmente acessam dotas as colunas, as colunas LOB são acessadas mesmo que não sejam necessárias. Por isso a sugestão de armazenar os LOBs em tabelas separadas.

Para quem escreve queries retornando apenas as colunas necessárias, este problema não ocorre.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar