Главные темы ► database ► Postgresql ► pg_optimization ► Оптимизация запросов в Postgresql
Теги: sql pg_optimization pg_productivity

Оптимизация запросов в Postgresql

Оптимизация запросов в Postgresql

    Оптимизируя запрос, следует обращать внимание не только на время его выполнения, но и как часто он будет выполняться.
    На скорость выполнения запроса влияют следующие способы:
    Обновление статистики, на основе которой планировщик строит планы


    Изменения исходного кода запроса
    Изменение схемы данных связанной с денормолизацией - создание материализованных представлений и временных таблиц, индексов, использование вычисляемых столбцов таблиц
    Изменение параметров планировщика - использование нужных парметров соединения планировщиком, табличных выражений WITH, фиксированный порядок соединения(join_collapse_limit = 1), запрет раскрытия подзапросов и преобразования их в соединения таблиц (параметр from_collapse_limit = 1)
    Изменение параметров планировщика агрегирование на основе хеширования (enable_hashagg), материализация временных наборов строк (enable_material), выполнение явной сортировки при наличии других возможностей (enable_sort), выбором метода доступа к данным (enable_seqscan, enable_indexscan, enable_indexonlyscan, enable_bitmapscan) и способасоединения наборов строк (enable_nestloop, enable_hashjoin, enable_mergejoin)

    Для выбора планировщиком правильного плана, необходима актуальная статистика
    Для обновления статистики используется команда ANALYZE (на уровне базы данных или на уровне таблицы)


    Источники
    Последнее изменение: November 6, 2024 22:43


    Редактировать


    test

    2025-12-31 23:09:00 Редактировать

    test

    2025-12-31 23:10:00 Редактировать

    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ
    Loading…
    Loading the web debug toolbar…
    Attempt #