простые ответы уже в комментариях выложили, но есть еще способы...
например при обновлении/добавлении данных (можно и на тригере), писать в специальную кеш-табличку с одной строчкой идентификатор (или всю строчку данных) последнего элемента, если речь идет о БОЛЬШИХ данных, этот вариант эффективнее в разы (по индексам - N*log N а тут константа, с ценой константы на запись).
если условие выбора вариативное, в кеш таблицу можно запихивать не одну строчку - а варианты по paramname, paramvalue и source (в этой кеш табличке индексы по этим полям уже нужны, но таблица будет маленькой).
достоинства - скорость и возможная экономия памяти (не нужен индекс в принципе для этой задачи или не требуется autoincrement для id, т.е. метод совместим с партицированием в т.ч. самодельным, но тогда в триггере проверять кешированную date и обновленную на случай гонок разных партиций на порядок записи в кеш), это может быть очень критично при БОЛЬШИХ данных.
запись данных в отдельную табличку (тоже без индексов) почти бесплатный, точнее там мизерная константа добавляется, несравнимо меньше чем время на обновление индексов и уж тем более поиск данных.
Ну и главное, если бакэнд - непрерывно работающее приложение (на самом деле и это не требование но логика тогда чуть сложнее будет), нужные кеш-данные можно хранить в оперативной памяти (и помещать туда при запуске, делая уже полноценный запрос в базу) в этом случае вместо триггера лучше добавить логику в код, добавляющий данные в базу.