Необходимо выдать 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.
Похожие темы
- Форум [mysql] ORDER BY … DESC LIMIT 1 (2011)
- Форум Помогите составить простой запрос в стиле Django-way (SQL -> Django) (2015)
- Форум MySQL, обработка части запроса (2017)
- Форум Какой запрос быстрее/оптимальнее (2021)
- Форум SQL-запрос (postgresql / tsearch2) (2013)
- Форум Как лучше select * from X where Z<A order by Z desc limit 1 в MySQL? (2004)
- Форум Неконсистентность запроса с group by + order by + limit (2019)
- Форум Случайная запись из таблицы в Postgresql (2024)
- Форум postgresql фактическое время выполнения запроса меньше значения total_time (2022)
- Форум FOUND_ROWS выдает неправильный результат (2014)