2015-06-10 9 views
2

Я создаю таблицу журналов в моей базе данных MySQL. Одно из полей будет использоваться примерно в 5% журналов и будет содержать трассировки стека и другие подробные сведения для разработчиков. Я рассматривал использование поля LONGTEXT, но мне было интересно, будет ли использование этой базы очень быстро, даже если этот столбец пуст в 95% строк.Потребление памяти в столбце LONGTEXT в базе данных MySQL

Итак, мой вопрос в ясности, есть ли потребление памяти в столбце LONGTEXT, даже если этот столбец пуст в большинстве строк? Например, если я использую TEXT вместо этого и усекаю длинные строки, я бы сохранил много места в базе данных.

Важно добавить, что с течением времени будет много журналов.

Спасибо!

ответ

3

Хотя это немного отличается от одной разницы между MySQL и другими, в общем случае столбцы типа BLOB, такие как LONGTEXT, являются по своей природе переменной длиной и почти не занимают места хранения, если не используются. Требуемое пространство не выделяется даже в случае значения NULL.

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