@iAlexBelkin

Как корректней реализовать историю?

Имеется скрипт, который записывает позиции сайтов в поисковых системах, на данный момент новая позиция заменяет старую, время обновления меняется при перезаписи. Хочу сделать ведение истории, чтоб в дальнейшем использовать графики по каждой позиции. Как мне реализовать, чтоб не убивать нагрузкой базу данных? Пока что в голову приходит только записывать всю историю, потом делать выборку по позиции и сортировать по таймштампу, есть вариант получше? Речь идет о нескольких тысячах запросов, возможно еще больше (десятки, сотни тыс.), как реализовать историю так, чтоб уменьшить нагрузку?
Надеюсь правильно сформулировал вопрос. У меня с формулировкой туго.
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 3
@DuD
2 таблицы. Одна с поисковыми фразами вторая с историей.
В таблицу с историей вы пишете id поисковой фразы, позицию, дату снятия показаний, поисковую систему если надо.

Далее накатываете индексы на дату и на id поисковой фразы. Затем добавляете партиционирование, к примеру по месяцам.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Таблица с менее чем 10 миллионами записей большой не является, выборки по ней при наличии индексов занимают доли секунд. Так что не парьте голову, пишите инсерты, делайте селект с сортировкой по дате, это нормальная практика. Люди хранят статистику посещений, с временем входа, переходами по страницам и т.д., там за день набегает у некоторых под четверть миллиона записей.
Ответ написан
Комментировать
VladimirAndreev
@VladimirAndreev
php web dev
можно сделать таблицу, в которую идут вставки, и вторую - в которой хранятся уже собранные данные по каждому товару. или обработанные данные вообще в кеше типа Redis хранить
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы