Необходимо выдать n элементов из таблицы some_table с максимальными id и различными значениями cat.
Сейчас задача решается так:
SELECT max(id) as id, cat FROM some_table GROUP BY cat ORDER BY id DESC LIMIT n;
На текущем размере таблицы это дает порядка 300 мс времени выполнения. Хотелось бы сильно уменьшить это время, если это возможно.
Ссылки приветствуются, т.к. мой скилл гуглоюзера оказался слаб.
Если что, БД - PostgreSQL 9.