Есть определенное количество записей в БД, скажем 200-500к, так же существует поле time. В котором записана дата, данная дата сверяется с датой реального времени, и если реальная дата больше чем запись в time, то мы берем другие данные из столбцов и читаем их. Так же все это нужно делать в for, то есть данная подпрограмма никогда не должна говорить стоп, независимо от того совпадает ли дата или нет. Если есть демо прошу показать. Так же хотелось бы избежать блокировки mysql, что бы после прочтения можно было создать update.
Порядка 10к-20к записей нужно отдавать, в течении минуты. Допустим время я могу запросить сразу в select при обращении не городя огород. Вопрос больше стоит в том, что бы я смог нормально выполнить update, insert либо delet, в эту базу. Но при таком кол, боюсь упрется в лок бд. Транз, так же бы хотелось избежать.
Делаете выборку с сортировкой по дате сразу несколько строк, пачкой обрабатываете, когда дойдем до текущей даты - следующую запись по таймеру обрабатываем и все сначала.
Любой апдейт активирует выборку нескольких строк с условием по времени, далее обработка и тд.
Если делать не для любого апдейта, а для только для того, что подходит под условия - можно миновать БД и сразу ставить в очередь обработки, тогда уж кажется БД будет разгружена на сколько это возможно.