Теоретический мысленный эксперимент

Недавно я столкнулся с этой теоретической проблемой:

  • В приложении есть два скрипта PHP;
  • Первый скрипт подключается к БД каждый день в 00:00 и вставляет в существующую таблицу БД 1 миллион строк;
  • Второй скрипт имеет foreachцикл, повторяющийся через те же строки таблицы БД; Затем он вызывает вызов API, который занимает ровно 1 секунду для завершения (request + response = 1s); Независимо от содержимого ответа, он удаляет одну строку из таблицы БД;
  • Следовательно, каждый день таблица БД получает 1 миллион строк, но только теряет 1 строку в секунду, то есть 86400 строк в день, и из-за этого она растет бесконечно большой;
  • Какую модификацию второго скрипта нужно изменить, чтобы размер таблицы БД не увеличивался бесконечно большой?

Эта проблема знакома всем? Если это так, есть ли «каноническое» решение? Поскольку первое, что перешло мне в голову, было: если удаление строки не зависит от ответа API, почему бы просто не просто вызвать вызов API за пределами foreachцикла? К сожалению, у меня не было возможности задать свой вопрос.

Любые другие идеи?

php,mysql,database,api,

0

Ответов: 0

Теоретический мысленный эксперимент

Недавно я столкнулся с этой теоретической проблемой:

  • В приложении есть два скрипта PHP;
  • Первый скрипт подключается к БД каждый день в 00:00 и вставляет в существующую таблицу БД 1 миллион строк;
  • Второй скрипт имеет foreachцикл, повторяющийся через те же строки таблицы БД; Затем он вызывает вызов API, который занимает ровно 1 секунду для завершения (request + response = 1s); Независимо от содержимого ответа, он удаляет одну строку из таблицы БД;
  • Следовательно, каждый день таблица БД получает 1 миллион строк, но только теряет 1 строку в секунду, то есть 86400 строк в день, и из-за этого она растет бесконечно большой;
  • Какую модификацию второго скрипта нужно изменить, чтобы размер таблицы БД не увеличивался бесконечно большой?

Эта проблема знакома всем? Если это так, есть ли «каноническое» решение? Поскольку первое, что перешло мне в голову, было: если удаление строки не зависит от ответа API, почему бы просто не просто вызвать вызов API за пределами foreachцикла? К сожалению, у меня не было возможности задать свой вопрос.

Любые другие идеи?

00PHP, MySQL, базы данных, API,
Похожие вопросы