Короче говоря, одна часть приложения, над которым я работаю, должна хранить довольно большой объем данных в базе данных, чтобы другая часть приложения могла быть использована позже. Обычно это <2000 строк, но иногда может превышать 300 000 строк. Данные должны быть временно сохранены и впоследствии могут быть удалены. </p>
Я играл с различными идеями, и одна вещь пришла мне на ум сегодня. Тип данных LONGTEXT
может хранить максимум 2 ^ 32 байта, что соответствует 4 ГБ. Теперь, это много вещей, чтобы втиснуть в одну строку таблицы. Имейте в виду, данные, скорее всего, не превысят 60-80 МБ в лучшем случае. Но мой вопрос, это хорошая идея на самом деле сделать это?
Два решения, которые я сейчас использую, примерно такие:
- Вставка всех данных в виде отдельных строк во «временную» таблицу, которая будет обрезана после завершения.
- Вставка всех данных в виде сериализованной строки в столбец
LONGTEXT
в строке, которая будет удалена после завершения.
Чисто с точки зрения производительности, лучше ли хранить данные как потенциально> 300 000 отдельных строк или как запись размером 60 МБ LONGTEXT
?
Если это стирка, я, вероятно, остановлюсь на опции LONGTEXT
, так как это сделает часть приложения, которая собирает данные, легче для записи. Это также лучше связало бы с другой частью, что увеличило бы общую производительность приложения.
Буду признателен за любые мысли по этому поводу.