2009-02-21 34 views
5

Estoy haciendo un pequeño foro para el sitio web de mi clanes. Me pregunto si debería guardar el texto del hilo en TEXTO o BLOB. ¿Cual es la diferencia? He visto que phpBB hace eso.¿Almacenar texto en BLOB?

¿Qué es BLOB de todos modos? no puedo encontrar mucho sobre eso en Google.

Respuesta

1

BLOB es para datos binarios. No sé la razón por la cual phpBB 3 almacena todo en binario, pero yo mismo lo he notado. Supongo que están comprimiendo/codificando lo que sea que pongan en la base de datos. Puede intentar consultar el código fuente de phpBB para ver si hay algún comentario que lo explique.

+1

Oh, esa podría ser la razón por la cual su función de búsqueda es tan mala. – Gumbo

6

Un blob es solo un grupo de bytes. Una cantidad arbitraria de bytes, nada más.

Si tuviera que almacenar texto como un blob, tendría que preocuparse por la codificación (el proceso de traducir texto a bytes). Pero si almacena cosas como texto, cualquiera que sea el transporte de base de datos que use, se asegurará de que el texto almacenado en la base de datos esté codificado y decodificado adecuadamente para un almacenamiento eficiente y un uso fácil.

Si planea almacenar texto, debe almacenar texto.

phpBB podría implementar la codificación de texto y la decodificación ellos mismos y esa podría ser una razón para usar blob en lugar de texto. Es poco probable, pero a veces los tipos de datos de texto tienen una longitud máxima, el blob podría ser una solución para phpBB en esta instancia en particular.

4

Re the "what" - BLOB es Binary Large OBject; compare con CLOB: carácter grande OBject. Sin embargo, las diferentes bases de datos las llaman cosas diferentes; por ejemplo, en SQL Server tiene image/varbinary(max) para BLOB y text/varchar(max) para CLOB.

Si un sistema solo admite un BLOB, entonces una opción es codificar cadenas, por ejemplo usando UTF8. Esto podría ser lo que está sucediendo.

Cuestiones relacionadas