Сохранить текст в BLOB? - PullRequest
5 голосов
/ 21 февраля 2009

Я создаю небольшой форум для моего сайта кланов. Мне интересно, если я должен хранить текст темы в тексте или BLOB? Какая разница? Я видел, что phpBB делает это.

Что такое BLOB? не могу найти много об этом в Google.

Ответы [ 3 ]

6 голосов
/ 21 февраля 2009

BLOB-объект - это просто набор байтов. Произвольное количество байтов, не более.

Если бы вы хранили текст в виде большого двоичного объекта, вам пришлось бы беспокоиться о кодировке (процессе перевода текста в байты). Но если вы храните вещи в виде текста независимо от того, какую базу данных вы используете, то убедитесь, что текст, хранящийся в базе данных, правильно закодирован и декодирован для эффективного хранения и простого использования.

Если вы планируете хранить текст, вы должны хранить текст.

phpBB может реализовывать кодирование и декодирование текста самостоятельно, и это может быть одной из причин использовать blob вместо текста. Это маловероятно, но иногда текстовые типы данных имеют максимальную длину, в этом конкретном случае blob может быть обходным путем для phpBB.

4 голосов
/ 21 февраля 2009

Re "что" - BLOB - Большой двоичный объект; сравните с CLOB : символ большой объект. Разные базы данных называют их по-разному - например, на SQL Server у вас есть image / varbinary(max) для BLOB и text / varchar(max) для CLOB.

Если система поддерживает только BLOB, тогда одним из вариантов является кодирование строк - например, с использованием UTF8. Это может быть тем, что происходит.

1 голос
/ 21 февраля 2009

BLOB для двоичных данных. Я не знаю причину, почему phpBB 3 хранит все в двоичном виде, но я сам это заметил. Я предполагаю, что они сжимают / кодируют все, что они помещают в базу данных. Вы можете попробовать просмотреть исходный код phpBB, чтобы увидеть, есть ли какие-либо комментарии, объясняющие это.

...