Хранение почасовых обновленных данных в MySql

На сайте несколько тысяч товарных списков.

Цель состоит в том, чтобы хранить обновленную информацию о списках для каждого продукта (просмотры / лайки / и т. Д.) В базе данных MySql каждые 15 минут или около того, сохраняя при этом предыдущие результаты.

Эти данные будут использоваться для отображения графиков с возможностью отображения ежечасных, ежедневных, еженедельных и т. Д. Статистики.

Вопрос в том, как наиболее эффективно сохранить эти данные в таблице MySQL?

Есть два подхода, которые я могу придумать:

1) Сохраняйте каждое 15-минутное обновление как отдельную запись, а затем извлекайте диапазон данных при необходимости. Проблема в том, что эта таблица может быстро перерасти в многомиллионную таблицу, которая не кажется настолько эффективной.

2) Для каждого 15-минутного обновления добавляйте необходимые данные (views / likes / etc) в конец существующей строки данных в соответствующих столбцах, а затем при извлечении разбивайте эту строку в массив. Поскольку не было бы диапазонов, я мог бы хранить данные о последних обновлениях и вычислять диапазоны оттуда. Проблема с этим может быть менее надежной, и строки данных также будут расти со временем.

Заранее спасибо!

0

Решение

Решение первое, безусловно, лучший ответ. Не беспокойтесь о том, сколько строк создано. По какой-то причине люди зациклены на количестве таблиц строк. В последнем ответе вы будете нарушать нормализацию базы данных, храня несколько значений в одной записи.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector