Como eu experimentei, o tipo Blob é uma boa escolha quando você deseja salvar dados binários, como imagens ou vídeos, etc., e o tipo Texto é uma boa escolha quando você deseja salvar uma string grande.
Hoje eu vi o banco de dados da Wikipédia. O interessante é que o wiki usa o tipo blob médio para armazenar o wikitext da página.
Então, quero saber por que o Wiki prefere usar o tipo Blob em vez de Texto?
Obrigado
A maneira 'certa' de armazenar texto é usar
TEXT
comCHARACTER SET ut8fmb4
. No entanto, isso requer que você saiba qual codificação existe no cliente, para que possa ser convertida (pelo MySQL) à medida que é armazenada.Ao armazenar em
BLOB
, o problema acima é eliminado. No entanto, isso leva a outro problema - como exibir o texto.Outra desculpa possível
BLOB
é que a Wikipedia provavelmente foi iniciada antes de utf8mb4 ser adicionado ao MySQL.(Só podemos adivinhar.)
Pode ser para evitar alterações indesejadas ao armazenar os dados, devido a problemas de codificação.
Qualquer codificação tem seu conjunto de caracteres compatível. Quando você armazena texto em uma codificação específica, alguns dos caracteres podem ser traduzidos para caber no conjunto de caracteres de armazenamento.
O BLOB é armazenado "como está" enquanto o conteúdo do texto está sendo manipulado de acordo com a codificação que está sendo usada.