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