Хранение 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
.