данным последней версии записи?
шаманить с оконной функцией или джойнить агргеацию с max(version) на эту таблицу?
Ни то, ни другое, скорее всего. ;) Т.е. ответ зависит от имеющихся индексов, количества версий на каждую запись и наличия таблицы с самими записями (members, я так понимаю).
Вангую, что чаще всего вам нужно обращаться к последней записи у members_id, поэтому, если это возможно, то можно добавить поле actual и b-tree индекс (members_id, actual) Если же не только к последней записи, тогда как вариант добавить tstzrange поле, которое обозначает за какой период эти данные актуальны, во избежании дублей повесить EXCLUDE CONSTRAINT. Правда для всего этого придется потратить время и переписать реализаци внесения записей и чтения. Поэтому я сначала бы начал с совета Ярослава.
Обсуждают сегодня