mysql добавление цен
Есть таблица история цен. Цены обновляются на сайте каждый час. Примерно 40тыс, цен. Чтобы вести историю цен, все эти цены добавляются без проверки в базу. База соответственно разрослась до 7млн, записей.
Не хочется плодить эти записи, но и добавлять цены(только те, что изменились), тоже ресурсозатратно. Возможно, кто-то подскажет более удобный способ хранения истории изменения цен.
Не хочется плодить эти записи, но и добавлять цены(только те, что изменились), тоже ресурсозатратно. Возможно, кто-то подскажет более удобный способ хранения истории изменения цен.
Комментарии: 7
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
В принципе, можно записывать в таблицу все цены, а затем подчищать ненужные записи отдельным скриптом, который по cron будет запускаться.
Подчищает пусть каким-нибудь хитрым sql запросом.., чтобы не объекты xpdo (мы же про modx говорим?))) дергать, а попроще как-нибудь. Типа выбрать 2 последние записи с одним id товара, если цена одинаковая — то последнюю из этих записей удалить, как не нужную, а если цены разные — предпоследнюю пометить как «проверенную» и больше ее не проверять.
Или например разнести все это по 2м таблицам: одна временная, где все 40 тыс записей, а во вторую уже попадают только действительно изменившиеся цены.
А потом уже неспешно «перебираем» эту таблицу, сравниваем со второй таблицей, где хранятся только те цены, что действительно изменились. Ну и после сравнения принимаем решение о переносе цены из временной таблицы в постоянную
где prices — сохраняєтся в виде JSON
или
Не знаю на сколько ето правильно