Добрый день, дорогие друзья.
Есть база с пользователями
users на 30к пользователей:
user_id
user_name
Есть база с некоторыми числами
values, которые добавляются каждый день, но не на каждого пользователя (каждый день из 30к пользователей порядка 25к чисел добавляются)
value_id,
user_id
value
date (ДД.ММ.ГГГГ)
Необходимо получить все значения (value) за сегодняшний день и за прошлый, а также эти значения сравнить (value предыдущего дня > value текущего дня). Но соответственно нужно как-то сделать выборку лишь по тем пользователям, у которых запись в таблице values есть за два дня.
Сейчас мы делаем это вложенным циклом (да простите меня за это) примерно вот так:
for ($i=0; $i<count...; $i++) {
for ($j=0; $j<count...; $j++) {
// тут происходит сравнения айди пользователей из данных за вчера и сегодня
// и если они совпадают - делаем сравнение чисел
Когда пользователей было 200, все работало быстро, но на проверке 30 000 записей из таблицы value скрипт вешается капитально и нужно придумать другой вариант.