Есть две таблицы:
resultsUpdateLog - для логов обновления
id, dateTimeStart, dateTimeFinish
results - для хранения самих результатов. В таблице больше 50 тысяч записей и будет ещё больше
id, player_id, updateLog_id, dateTime, rating и т.д.
связывание таблиц происходит по id и updateLog_id.
Для GridView в модели ResultsUpdateLogSearch создал запрос:
Код: Выделить всё
$query = ResultsUpdateLog::find()
->select([
ResultsUpdateLog::tableName().'.*',
'COUNT('. Results::tableName().'.id) AS countRes'
])
->joinWith(['results'])
->groupBy(ResultsUpdateLog::tableName().'.id');
В итоге panel показывает memory = 118 мб, а Events = 100 тыс
Причём из таблицы results мне нужно по сути только количество записей, которые относятся к логу.
Количество записей будет увеличиваться. Наверное можно кэшировать, но может есть возможность грамотней запрос составить?!