Хранение HTML в MySQL: blob или текст?

Мне нужно хранить большое количество данных HTML в базе данных.

У меня есть Googled и нашел что-то о типе blob, я проверил его, и он работает правильно.

Мне нужно сохранить HTML-страницы в таблицах и вам нужно правильно их отображать как веб-страницы по запросу.

Итак, что лучше для хранения больших HTML-страниц, text или blob?

Ответ 1

Я бы использовал blob его varbinary и не делал никакого перевода. Таким образом, ваш html выйдет точно так же, как и он.

Если вы хотите искать и индексировать, что html TEXT может быть лучшим выбором. В этом случае убедитесь, что вы используете правильную кодировку.
Я бы рекомендовал UTF8.

Ответ 2

Семь лет прошло с тех пор, как был задан этот вопрос. Индустрия баз данных сходится при использовании UTF-8 для всего текста.

Если вы используете TEXT и делаете его CHARACTER SET utf8mb4, и делаете то же самое для всех других текстовых полей (кроме postal_code, country_code, hex и нескольких других, которые определены как ascii), тогда TEXT делает чувство.

Но есть еще одно соображение. Если ваш HTML - это целая страница, имеет смысл помещать это в файл, а не в таблицу базы данных. Таким образом, он может быть вызван непосредственно HTTP. Аналогично изображения и BLOB приводят к аргументу для <img src=...>, где ... - это URL-адрес файла .jpg.