Предположим, у меня есть таблица со столбцами date | group_id | user_id | text
, и я хотел бы получить первые 3 текста (по дате) каждой пары group_id/user_id
.
Представляется бесполезным запрашивать всю таблицу, скажем, каждые 3 часа, поскольку результаты вряд ли изменятся для заданной пары после установки, поэтому я посмотрел на материализованные представления, но примеры были о отдельных строках, а не наборы строк.
Другая проблема заключается в том, что столбец date
не соответствует дате приема, означает ли это, что мне нужно добавить столбец даты приема, чтобы иметь возможность использовать @run_time
в запланированных запросах?
В качестве альтернативы, было бы более разумно загрузить пакет в отдельную таблицу, сравнить ее с / обновить "первую / материализованную" таблицу, прежде чем объединять ее с основной таблицей? (таким образом, вместо того, чтобы иметь запросы к основной таблице, заполняйте материализованную таблицу по одному при каждой загрузке). Это выглядит хаки / неправильно хотя?