• Как оптимизаровать запрос в postgresql c фильтрацией и сортировкой?

    @WellWisher Автор вопроса
    Да, но в данном случае всё равно везде используется только первая часть индекса, выходит что вторая ненужна. Мысль про достаточно малое кол-во возвращаемых строк интересна, я пробовал только для 250к и 25к, попробую уменьшить кол-во строк.
    ANALYZE всегда выполняю, чтобы он понимал какие данные.
  • Как оптимизаровать запрос в postgresql c фильтрацией и сортировкой?

    @WellWisher Автор вопроса
    Кирилл: Да, я так и понял, поэтому и указал в ответе что можно не сортировать при неизменности таблицы, либо сортировать но "стоиомсть" сортировки будет меньше (и будет зависеть от кол-ва измененных/новых данных)
  • Как оптимизаровать запрос в postgresql c фильтрацией и сортировкой?

    @WellWisher Автор вопроса
    Интересная мысль, верно ли я понял, что фактически это будет выглядеть как физическая сортировка строк таблицы в указанном порядке.
    При запросах фактически будет происходить тоже, что и сейчас, только вот сортировать либо:
    а) не надо совсем, если строки не менялись
    б) надо сортировать, но количество перестановок в сортировке все равно гораздо меньше (множество то было упорядочено)
  • Как оптимизаровать запрос в postgresql c фильтрацией и сортировкой?

    @WellWisher Автор вопроса
    Swartalf: Не хотел вдаваться в палемику, но, например, на другой субд, помогает мультиколоночный индекс, первая часть которого используется вначале для фильтра а вторая - для сортировки. Я искал похожего решения в посгресе, но не нашел. Перечитал оф. документацию, стек, и ничего путного не нашел, хотя запрос крайне простой.

    Видимо пострес просто так не умеет. Будем привыкать ;)

    Опять же повторюсь, хочется именно использовать индекс для сортировки в представленном выше запросе. С настройками все понятно, просто "теоритически" я мог не соблюсти некоторые условия, при которых планировщик был бы готов использовать двойной индекс. Думал может быть кто-то сталкивался и знает. Т.к. заставить то его(планировщик) использовать определенный индекс нельзя.
  • Как оптимизаровать запрос в postgresql c фильтрацией и сортировкой?

    @WellWisher Автор вопроса
    Swartalf: т.е. по аналогии с другими СУБД postgresql не имеет использовать первую часть ключа для фильтра, а вторую для сортировки?
    И все варианты оптимизации больше "физические": по-другому хранить, хранить на более быстром винте, тем не менее, насколько я понимаю, это отразится на ускорении выборки но не сортировки.
  • Как оптимизаровать запрос в postgresql c фильтрацией и сортировкой?

    @WellWisher Автор вопроса
    Партиционирование хорошо, а что если записей будет всего миллион?
    т.е. это на данный момент эта задача - чисто теоретические изыскания, но хочется понять как её можно решить с минимальными усилиями в виде индексов.